From 4d3fc0636ce0d4931d786c307b66fd82811564aa Mon Sep 17 00:00:00 2001 From: Chris Cleeland Date: Mon, 15 Dec 2003 22:31:47 +0000 Subject: Tag: pmb_integration Started work on performance enhancements for PMB. --- TAO/tao/Pluggable_Messaging.h | 44 +++++++++++++++-------------------- TAO/tao/Strategies/SHMIOP_Transport.h | 4 ++++ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/TAO/tao/Pluggable_Messaging.h b/TAO/tao/Pluggable_Messaging.h index 8ac38de01e0..3e84635d767 100644 --- a/TAO/tao/Pluggable_Messaging.h +++ b/TAO/tao/Pluggable_Messaging.h @@ -121,36 +121,30 @@ public: virtual void init (CORBA::Octet major, CORBA::Octet minor) = 0; - /// Parse the incoming messages.. - virtual int parse_incoming_messages (ACE_Message_Block &message_block) = 0; - - /// Calculate the amount of data that is missing in the - /// message block. - virtual ssize_t missing_data (ACE_Message_Block &incoming) = 0; - - /// Get the details of the message parsed through the . - virtual void get_message_data (TAO_Queued_Data *qd) = 0; - - /* Extract the details of the next message from the - * through . Returns 1 if there are more messages and returns a - * 0 if there are no more messages in . - */ - virtual int extract_next_message (ACE_Message_Block &incoming, - TAO_Queued_Data *&qd) = 0; - - /// Check whether the node needs consolidation from - virtual int consolidate_node (TAO_Queued_Data *qd, - ACE_Message_Block &incoming) = 0; - - /// @@Bala:Docu?? - virtual int consolidate_fragments (TAO_Queued_Data *dqd, - const TAO_Queued_Data *sqd) = 0; - /// Parse the request message, make an upcall and send the reply back /// to the "request initiator" virtual int process_request_message (TAO_Transport *transport, TAO_Queued_Data *qd) = 0; + /*! + \brief Inspects the bytes in \param mb to see if they "look like" the beginning of a message. + + Inspects the bytes in \param mb, beginning at \code mb.rd_ptr, to + see if they look like the beginning of a message. Does + */ + virtual int check_for_valid_header (const ACE_Message_Block &mb) const = 0; + + /*! + \brief Set fields in \param qd based on values derived from \param mb. + + This function sets fields in \param qd based on values derived + from \param mb. It assumes that if the length of \param mb is + enough to hold a header, then the data in there can be trusted to + make sense. + */ + virtual void set_queued_data_from_message_header ( + TAO_Queued_Data *, + const ACE_Message_Block &mb) const = 0; /// Parse the reply message that we received and return the reply /// information though diff --git a/TAO/tao/Strategies/SHMIOP_Transport.h b/TAO/tao/Strategies/SHMIOP_Transport.h index 02c67c63116..8b54426aaa7 100644 --- a/TAO/tao/Strategies/SHMIOP_Transport.h +++ b/TAO/tao/Strategies/SHMIOP_Transport.h @@ -82,10 +82,14 @@ protected: size_t len, const ACE_Time_Value *s = 0); +#if 0 + // This no longer exists with the PMB-change flow. Not sure how to deal with that, + // so for now we ditch the method and see if things work. virtual int consolidate_message (ACE_Message_Block &incoming, ssize_t missing_data, TAO_Resume_Handle &rh, ACE_Time_Value *max_wait_time); +#endif //@} -- cgit v1.2.1