summaryrefslogtreecommitdiff
path: root/TAO/tao/GIOP_Message_Lite.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/GIOP_Message_Lite.h')
-rw-r--r--TAO/tao/GIOP_Message_Lite.h45
1 files changed, 25 insertions, 20 deletions
diff --git a/TAO/tao/GIOP_Message_Lite.h b/TAO/tao/GIOP_Message_Lite.h
index bfc7f5f01ad..b10ef17982c 100644
--- a/TAO/tao/GIOP_Message_Lite.h
+++ b/TAO/tao/GIOP_Message_Lite.h
@@ -88,11 +88,8 @@ public:
/// the message.
virtual int format_message (TAO_OutputCDR &cdr);
- /// Process the request message that we have received on the
- /// connection
- virtual int process_request_message (TAO_Transport *transport,
- TAO_Queued_Data *qd);
-
+ /// Parse the incoming messages..
+ virtual int parse_incoming_messages (ACE_Message_Block &message_block);
/// Get the message type. The return value would be one of the
/// following:
@@ -102,25 +99,33 @@ public:
/// TAO_PLUGGABLE_MESSAGE_MESSAGE_ERROR.
TAO_Pluggable_Message_Type message_type (void);
- /*!
- \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
+ /// Calculate the amount of data that is missing in the <incoming>
+ /// message block.
+ virtual ssize_t missing_data (ACE_Message_Block &message_block);
+
+ /* Extract the details of the next message from the <incoming>
+ * through <qd>. Returns 1 if there are more messages and returns a
+ * 0 if there are no more messages in <incoming>.
*/
- virtual int check_for_valid_header (const ACE_Message_Block &mb) const;
+ virtual int extract_next_message (ACE_Message_Block &incoming,
+ TAO_Queued_Data *&qd);
- /*!
- \brief Set fields in \param qd based on values derived from \param mb.
+ /// Check whether the node <qd> needs consolidation from <incoming>
+ virtual int consolidate_node (TAO_Queued_Data *qd,
+ ACE_Message_Block &incoming);
- 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;
+ /// Get the details of the message parsed through the <qd>.
+ virtual void get_message_data (TAO_Queued_Data *qd);
+
+ /// @@Bala: Docu???
+ virtual int consolidate_fragments (TAO_Queued_Data *dqd,
+ const TAO_Queued_Data *sqd);
+
+ /// Process the request message that we have received on the
+ /// connection
+ virtual int process_request_message (TAO_Transport *transport,
+ TAO_Queued_Data *qd);
/// Parse the reply message that we received and return the reply
/// information though <reply_info>