TAO_Block_Flushing_Strategy Class Reference

Implement a flushing strategy that blocks on write to flush. More...

#include <Block_Flushing_Strategy.h>

Inheritance diagram for TAO_Block_Flushing_Strategy:

Inheritance graph
[legend]
Collaboration diagram for TAO_Block_Flushing_Strategy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual int schedule_output (TAO_Transport *transport)
 Schedule the transport argument to be flushed.

virtual int cancel_output (TAO_Transport *transport)
 Cancel all scheduled output for the transport argument.

virtual int flush_message (TAO_Transport *transport, TAO_Queued_Message *msg, ACE_Time_Value *max_wait_time)
virtual int flush_transport (TAO_Transport *transport)
 Wait until the transport has no messages queued.


Detailed Description

Implement a flushing strategy that blocks on write to flush.

Definition at line 30 of file Block_Flushing_Strategy.h.


Member Function Documentation

int TAO_Block_Flushing_Strategy::cancel_output TAO_Transport transport  )  [virtual]
 

Cancel all scheduled output for the transport argument.

Implements TAO_Flushing_Strategy.

Definition at line 23 of file Block_Flushing_Strategy.cpp.

00024 {
00025   return 0;
00026 }

int TAO_Block_Flushing_Strategy::flush_message TAO_Transport transport,
TAO_Queued_Message msg,
ACE_Time_Value max_wait_time
[virtual]
 

Wait until msg is sent out. Potentially other messages are flushed too, for example, because there are ahead in the queue.

Implements TAO_Flushing_Strategy.

Definition at line 29 of file Block_Flushing_Strategy.cpp.

References TAO_Queued_Message::all_data_sent(), and TAO_Transport::handle_output().

00032 {
00033   while (!msg->all_data_sent ())
00034     {
00035       if (transport->handle_output () == -1)
00036         return -1;
00037     }
00038   return 0;
00039 }

int TAO_Block_Flushing_Strategy::flush_transport TAO_Transport transport  )  [virtual]
 

Wait until the transport has no messages queued.

Implements TAO_Flushing_Strategy.

Definition at line 42 of file Block_Flushing_Strategy.cpp.

References TAO_Transport::handle_output(), and TAO_Transport::queue_is_empty().

00043 {
00044   while (!transport->queue_is_empty ())
00045     {
00046       if (transport->handle_output () == -1)
00047         return -1;
00048     }
00049   return 0;
00050 }

TAO_BEGIN_VERSIONED_NAMESPACE_DECL int TAO_Block_Flushing_Strategy::schedule_output TAO_Transport transport  )  [virtual]
 

Schedule the transport argument to be flushed.

Implements TAO_Flushing_Strategy.

Definition at line 12 of file Block_Flushing_Strategy.cpp.

References TAO_Transport::drain_queue_i(), and TAO_Transport::queue_is_empty_i().

00013 {
00014   while (!transport->queue_is_empty_i ())
00015     {
00016       if (transport->drain_queue_i () == -1)
00017         return -1;
00018     }
00019   return 0;
00020 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:12:25 2006 for TAO by doxygen 1.3.6