diff options
author | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2012-03-22 11:12:34 +0000 |
---|---|---|
committer | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2012-03-22 11:12:34 +0000 |
commit | 45b462fb02d0824032ecc9cdce94e16d29e94087 (patch) | |
tree | b34473037a1949ac616322cf513d5ae866532b29 /TAO/orbsvcs/orbsvcs | |
parent | a74789f4233449239a03e79e1a810ca54df93946 (diff) | |
download | ATCD-45b462fb02d0824032ecc9cdce94e16d29e94087.tar.gz |
Thu Mar 22 11:10:00 UTC 2012 Simon Massey <simon dot massey at prismtech dot com>
* orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp:
* orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h:
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h:
* tao/GIOP_Message_Base.cpp:
* tao/GIOP_Message_Base.h:
* tao/IIOP_Transport.cpp:
* tao/IIOP_Transport.h:
* tao/Messaging/AMH_Response_Handler.cpp:
* tao/On_Demand_Fragmentation_Strategy.cpp:
* tao/TAO_Server_Request.cpp:
* tao/Transport.cpp:
* tao/Transport.h:
* tao/ZIOP_Adapter.h:
* tao/Strategies/DIOP_Transport.cpp:
* tao/Strategies/DIOP_Transport.h:
* tao/Strategies/SHMIOP_Transport.cpp:
* tao/Strategies/SHMIOP_Transport.h:
* tao/Strategies/UIOP_Transport.cpp:
* tao/Strategies/UIOP_Transport.h:
* tao/ZIOP/ZIOP.cpp:
* tao/ZIOP/ZIOP.h:
* tests/Bug_3531b_Regression/server.cpp:
Provide a pointer to the TAO_ServerRequest object down to
TAO_GIOP_Message_Base::format_message() and
TAO_ZIOP_LOADER::marshal_data () for server reply.
Note this once more changes the transport send_message() api
for ZIOP (and other furture uses) to add a possiable
TAO_ServerRequest object as well as the possiable stub object.
This lets the send_message access the client provided
policies that control how the message is being dealt with.
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp | 28 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp | 18 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp | 4 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h | 1 |
6 files changed, 37 insertions, 16 deletions
diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp index dc829f0ec3a..6f5803136d1 100644 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp @@ -142,14 +142,18 @@ TAO::HTIOP::Transport::send_request (TAO_Stub *stub, { if (this->ws_->sending_request (orb_core, message_semantics) == -1) - - return -1; + { + return -1; + } if (this->send_message (stream, stub, + 0, message_semantics, max_wait_time) == -1) - return -1; + { + return -1; + } this->first_request_sent(); @@ -159,12 +163,15 @@ TAO::HTIOP::Transport::send_request (TAO_Stub *stub, int TAO::HTIOP::Transport::send_message (TAO_OutputCDR &stream, TAO_Stub *stub, + TAO_ServerRequest *request, TAO_Message_Semantics message_semantics, ACE_Time_Value *max_wait_time) { // Format the message in the stream first - if (this->messaging_object ()->format_message (stream, stub) != 0) - return -1; + if (this->messaging_object ()->format_message (stream, stub, request) != 0) + { + return -1; + } // This guarantees to send all data (bytes) or return an error. ssize_t n = this->send_message_shared (stub, @@ -179,10 +186,13 @@ TAO::HTIOP::Transport::send_message (TAO_OutputCDR &stream, // would return -1 with errno set to ENOENT. %p then would dump // a core. %m would then be softer on this. if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - TAO::HTIOP::Transport[%d]::send_message, ") - ACE_TEXT (" write failure - %m\n"), - this->id ())); + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO (%P|%t) - TAO::HTIOP::Transport[%d]::send_message, ") + ACE_TEXT (" write failure - %m\n"), + this->id ())); + } + return -1; } diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h index 4a0406d2692..f5b2a55b504 100644 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h +++ b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h @@ -103,6 +103,7 @@ namespace TAO virtual int send_message (TAO_OutputCDR &stream, TAO_Stub *stub = 0, + TAO_ServerRequest *request = 0, TAO_Message_Semantics message_semantics = TAO_Message_Semantics (), ACE_Time_Value *max_time_wait = 0); diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp index f80a55280b4..0f043ded873 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp @@ -546,6 +546,7 @@ TAO_UIPMC_Transport<CONNECTION_HANDLER>::send_request (TAO_Stub *stub, if (this->send_message (stream, stub, + 0, message_semantics, max_wait_time) == -1) @@ -558,12 +559,15 @@ template<typename CONNECTION_HANDLER> int TAO_UIPMC_Transport<CONNECTION_HANDLER>::send_message (TAO_OutputCDR &stream, TAO_Stub *stub, + TAO_ServerRequest *request, TAO_Message_Semantics message_semantics, ACE_Time_Value *max_wait_time) { // Format the message in the stream first - if (this->messaging_object ()->format_message (stream, stub) != 0) - return -1; + if (this->messaging_object ()->format_message (stream, stub, request) != 0) + { + return -1; + } // Strictly speaking, should not need to loop here because the // socket never gets set to a nonblocking mode ... some Linux @@ -578,10 +582,12 @@ TAO_UIPMC_Transport<CONNECTION_HANDLER>::send_message (TAO_OutputCDR &stream, if (n == -1) { if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) closing transport %d after fault %m\n"), - this->id (), - ACE_TEXT ("send_message ()\n"))); + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO: (%P|%t|%N|%l) closing transport %d after fault %m\n"), + this->id (), + ACE_TEXT ("send_message ()\n"))); + } return -1; } diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h index a6f831160ca..1a2e3b4cc69 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h @@ -87,6 +87,7 @@ public: virtual int send_message (TAO_OutputCDR &stream, TAO_Stub *stub = 0, + TAO_ServerRequest *request = 0, TAO_Message_Semantics message_semantics = TAO_Message_Semantics (), ACE_Time_Value *max_time_wait = 0); diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp index 1e5f5c3996b..c6df3ae8d8c 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp @@ -123,6 +123,7 @@ TAO::SSLIOP::Transport::send_request (TAO_Stub *stub, if (this->send_message (stream, stub, + 0, message_semantics, max_wait_time) == -1) @@ -134,11 +135,12 @@ TAO::SSLIOP::Transport::send_request (TAO_Stub *stub, int TAO::SSLIOP::Transport::send_message (TAO_OutputCDR &stream, TAO_Stub *stub, + TAO_ServerRequest *request, TAO_Message_Semantics message_semantics, ACE_Time_Value *max_wait_time) { // Format the message in the stream first - if (this->messaging_object ()->format_message (stream, stub) != 0) + if (this->messaging_object ()->format_message (stream, stub, request) != 0) return -1; // Strictly speaking, should not need to loop here because the diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h index 10b2f901539..426c91205ee 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h @@ -107,6 +107,7 @@ namespace TAO virtual int send_message (TAO_OutputCDR &stream, TAO_Stub *stub = 0, + TAO_ServerRequest *request = 0, TAO_Message_Semantics message_semantics = TAO_Message_Semantics (), ACE_Time_Value *max_time_wait = 0); |