summaryrefslogtreecommitdiff
path: root/TAO/tao/Invocation_Adapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Invocation_Adapter.cpp')
-rw-r--r--TAO/tao/Invocation_Adapter.cpp40
1 files changed, 21 insertions, 19 deletions
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index 8375055e311..0674e6e090d 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -67,8 +67,7 @@ namespace TAO
// Initial state
TAO::Invocation_Status status = TAO_INVOKE_START;
- while (status == TAO_INVOKE_START ||
- status == TAO_INVOKE_RESTART)
+ while (status == TAO_INVOKE_START || status == TAO_INVOKE_RESTART)
{
// Default we go to remote
Collocation_Strategy strat = TAO_CS_REMOTE_STRATEGY;
@@ -232,7 +231,7 @@ namespace TAO
(void) this->set_response_flags (stub, details);
- CORBA::Octet rflags = details.response_flags ();
+ CORBA::Octet const rflags = details.response_flags ();
bool const block_connect =
rflags != static_cast<CORBA::Octet> (Messaging::SYNC_NONE)
&& rflags != static_cast<CORBA::Octet> (TAO::SYNC_DELAYED_BUFFERING);
@@ -254,25 +253,30 @@ namespace TAO
ACE_TEXT ("max wait time consumed during transport resolution\n")));
}
-
// Update the request id now that we have a transport
- details.request_id (resolver.transport ()->tms ()->request_id ());
-
- if (this->type_ == TAO_ONEWAY_INVOCATION)
+ if (resolver.transport ())
{
- return this->invoke_oneway (details,
- effective_target,
- resolver,
- max_wait_time);
+ details.request_id (resolver.transport ()->tms ()->request_id ());
}
- else if (this->type_ == TAO_TWOWAY_INVOCATION)
+
+ switch (this->type_)
{
- return this->invoke_twoway (details,
- effective_target,
- resolver,
- max_wait_time);
- }
+ case TAO_ONEWAY_INVOCATION:
+ {
+ return this->invoke_oneway (details,
+ effective_target,
+ resolver,
+ max_wait_time);
+ }
+ case TAO_TWOWAY_INVOCATION:
+ {
+ return this->invoke_twoway (details,
+ effective_target,
+ resolver,
+ max_wait_time);
+ }
+ }
return TAO_INVOKE_FAILURE;
}
@@ -370,8 +374,6 @@ namespace TAO
TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE,
errno),
CORBA::COMPLETED_NO);
-
- return;
}
} // End namespace TAO