summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Transport.h')
-rw-r--r--TAO/tao/Transport.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/TAO/tao/Transport.h b/TAO/tao/Transport.h
index e60c63f1005..69dad7903f8 100644
--- a/TAO/tao/Transport.h
+++ b/TAO/tao/Transport.h
@@ -611,28 +611,44 @@ protected:
/// Called by the handle_input_i (). This method is used to parse
- /// message just read. It also decides whether the message
- // @@Bala: Documentation???
+ /// message read by the handle_input_i () call. It also decides
+ /// whether the message needs consolidation before processing.
int parse_consolidate_messages (ACE_Message_Block &bl,
TAO_Resume_Handle &rh,
- ACE_Time_Value *time);
+ ACE_Time_Value *time = 0);
+
+ /// Method does parsing of the message if we have a fresh message in
+ /// the <message_block> or just returns if we have read part of the
+ /// previously stored message.
int parse_incoming_messages (ACE_Message_Block &message_block);
+ /// Return if we have any missing data in the queue of messages
+ /// or determine if we have more information left out in the
+ /// presently read message to make it complete.
size_t missing_data (ACE_Message_Block &message_block);
- int check_message_integrity (ACE_Message_Block &message_block);
-
+ /// Consolidate the currently read message or consolidate the last
+ /// message in the queue. The consolidation of the last message in
+ /// the queue is done by calling consolidate_message_queue ().
virtual int consolidate_message (ACE_Message_Block &incoming,
ssize_t missing_data,
TAO_Resume_Handle &rh,
ACE_Time_Value *max_wait_time);
+ /// First consolidate the message queue. If the message is still not
+ /// complete, try to read from the handle again to make it
+ /// complete. If these dont help put the message back in the queue
+ /// and try to check the queue if we have message to process. (the
+ /// thread needs to do some work anyway :-))
int consolidate_message_queue (ACE_Message_Block &incoming,
ssize_t missing_data,
TAO_Resume_Handle &rh,
ACE_Time_Value *max_wait_time);
+ /// Called by parse_consolidate_message () if we have more messages
+ /// in one read. Queue up the messages and try to process one of
+ /// them, atleast at the head of them.
int consolidate_extra_messages (ACE_Message_Block &incoming,
TAO_Resume_Handle &rh);