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.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/TAO/tao/Transport.h b/TAO/tao/Transport.h
index 1508abe906a..51b6c010b43 100644
--- a/TAO/tao/Transport.h
+++ b/TAO/tao/Transport.h
@@ -600,6 +600,10 @@ public:
const ACE_Message_Block *message_block,
ACE_Time_Value *max_wait_time);
+ /// Send a message block chain, assuming the lock is held
+ int send_message_block_chain_i (const ACE_Message_Block *message_block,
+ size_t &bytes_transferred,
+ ACE_Time_Value *max_wait_time);
/// Cache management
void mark_invalid (void);
@@ -626,6 +630,22 @@ private:
/// Implement drain_queue() assuming the lock is held
int drain_queue_i (void);
+ /// Check if there are messages pending in the queue
+ /**
+ * This version assumes that the lock is already held. Use with
+ * care!
+ *
+ * @return 1 if the queue is empty
+ */
+ int queue_is_empty_i (void);
+
+ /// This class needs special access to drain_queue_i() and
+ /// queue_is_empty_i()
+ friend class TAO_Block_Flushing_Strategy;
+
+ /// A helper routine used in drain_queue_i()
+ int drain_queue_helper (int &iovcnt, iovec iov[]);
+
/// Cleanup the queue.
/**
* Exactly <byte_count> bytes have been sent, the queue must be
@@ -697,7 +717,7 @@ protected:
TAO_Queued_Message *tail_;
/// The queue will start draining no later than <queing_deadline_>
- /// *if* the deadline is
+ /// *if* the deadline is
ACE_Time_Value current_deadline_;
/// Lock that insures that activities that *might* use handler-related