diff options
-rw-r--r-- | TAO/tao/Asynch_Reply_Dispatcher.cpp | 12 | ||||
-rw-r--r-- | TAO/tao/Asynch_Reply_Dispatcher.h | 8 | ||||
-rw-r--r-- | TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp | 11 | ||||
-rw-r--r-- | TAO/tao/DynamicInterface/DII_Reply_Dispatcher.h | 13 |
4 files changed, 34 insertions, 10 deletions
diff --git a/TAO/tao/Asynch_Reply_Dispatcher.cpp b/TAO/tao/Asynch_Reply_Dispatcher.cpp index 5e7b2adb3aa..9f2bbc0a5eb 100644 --- a/TAO/tao/Asynch_Reply_Dispatcher.cpp +++ b/TAO/tao/Asynch_Reply_Dispatcher.cpp @@ -18,8 +18,16 @@ ACE_RCSID(tao, Asynch_Reply_Dispatcher, "$Id$") // Constructor. TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core *orb_core) - : reply_cdr_ (orb_core->create_input_cdr_data_block (ACE_CDR::DEFAULT_BUFSIZE), - 0, + : buf_ (), + db_ (sizeof buf_, + ACE_Message_Block::MB_DATA, + this->buf_, + orb_core->message_block_buffer_allocator (), + orb_core->locking_strategy (), + ACE_Message_Block::DONT_DELETE, + orb_core->message_block_dblock_allocator ()), + reply_cdr_ (&db_, + ACE_Message_Block::MB_DATA, TAO_ENCAP_BYTE_ORDER, TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR, diff --git a/TAO/tao/Asynch_Reply_Dispatcher.h b/TAO/tao/Asynch_Reply_Dispatcher.h index b8b1c978451..f81c68a142b 100644 --- a/TAO/tao/Asynch_Reply_Dispatcher.h +++ b/TAO/tao/Asynch_Reply_Dispatcher.h @@ -71,8 +71,12 @@ protected: */ IOP::ServiceContextList reply_service_info_; - // TAO_GIOP_Message_State *message_state_; - // CDR stream for reading the input. + /// The buffer that is used to initialise the data block + char buf_[ACE_CDR::DEFAULT_BUFSIZE]; + + /// datablock that is created on teh stack to initialise the CDR + /// stream underneath. + ACE_Data_Block db_; /// CDR stream which has the reply information that needs to be /// demarshalled by the stubs diff --git a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp index ff807dfb5fe..75e6530afba 100644 --- a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp +++ b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp @@ -23,8 +23,15 @@ TAO_DII_Deferred_Reply_Dispatcher::TAO_DII_Deferred_Reply_Dispatcher ( const CORBA::Request_ptr req, TAO_ORB_Core *orb_core) : TAO_Asynch_Reply_Dispatcher_Base (orb_core), - reply_cdr_ (orb_core->create_input_cdr_data_block (ACE_CDR::DEFAULT_BUFSIZE), - 0, + db_ (sizeof buf_, + ACE_Message_Block::MB_DATA, + this->buf_, + orb_core->message_block_buffer_allocator (), + orb_core->locking_strategy (), + ACE_Message_Block::DONT_DELETE, + orb_core->message_block_dblock_allocator ()), + reply_cdr_ (&db_, + ACE_Message_Block::DONT_DELETE, TAO_ENCAP_BYTE_ORDER, TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR, diff --git a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.h b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.h index 2e011729046..4bc0226620a 100644 --- a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.h +++ b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.h @@ -53,13 +53,18 @@ public: private: + /// The buffer that is used to initialise the data block + char buf_[ACE_CDR::DEFAULT_BUFSIZE]; + + /// datablock that is created on teh stack to initialise the CDR + /// stream underneath. + ACE_Data_Block db_; + + /// CDR stream for reading the input. TAO_InputCDR reply_cdr_; - // CDR stream for reading the input. - // @@ Carlos : message_state should go away. All we need is the reply - // cdr. Is that right? (Alex). + /// Where the reply needs to go. const CORBA::Request_ptr req_; - // Where the reply needs to go. }; #include "ace/post.h" |