Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Flushing_Strategy Class Reference

Define the interface for the flushing strategy, i.e. the algorithm that controls how does the ORB flush outgoing data. More...

#include <Flushing_Strategy.h>

Inheritance diagram for TAO_Flushing_Strategy:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~TAO_Flushing_Strategy (void)
 Destructor. More...

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

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

virtual int flush_message (TAO_Transport *transport, TAO_Queued_Message *msg, ACE_Time_Value *max_wait_time)=0
 Wait until msg is sent out. Potentially other messages are flushed too, for example, because there are ahead in the queue. More...

virtual int flush_transport (TAO_Transport *transport)=0
 Wait until the transport has no messages queued. More...


Detailed Description

Define the interface for the flushing strategy, i.e. the algorithm that controls how does the ORB flush outgoing data.

Please read the documentation in the TAO_Transport class to find out more about the design of the outgoing data path.

Some applications can block the current thread whenever they are sending out data. In those cases they can obtain better performance by blocking in calls to write() than by participating in the Leader/Followers protocol to shared the ORB Reactor.

This strategy controls how does the ORB schedule and cancel reactive I/O, if there is no reactive I/O the strategy is just a no-op.

Definition at line 48 of file Flushing_Strategy.h.


Constructor & Destructor Documentation

TAO_Flushing_Strategy::~TAO_Flushing_Strategy void    [virtual]
 

Destructor.

Definition at line 9 of file Flushing_Strategy.cpp.

00010 {
00011 }


Member Function Documentation

virtual int TAO_Flushing_Strategy::cancel_output TAO_Transport   transport [pure virtual]
 

Cancel all scheduled output for the transport argument.

Implemented in TAO_Block_Flushing_Strategy.

Referenced by TAO_Transport::drain_queue.

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

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

Implemented in TAO_Block_Flushing_Strategy.

Referenced by TAO_Transport::send_synchronous_message_i.

virtual int TAO_Flushing_Strategy::flush_transport TAO_Transport   transport [pure virtual]
 

Wait until the transport has no messages queued.

Implemented in TAO_Block_Flushing_Strategy.

Referenced by TAO_Transport::send_message_shared_i.

virtual int TAO_Flushing_Strategy::schedule_output TAO_Transport   transport [pure virtual]
 

Schedule the transport argument to be flushed.

Implemented in TAO_Block_Flushing_Strategy.

Referenced by TAO_Transport::handle_timeout, TAO_Transport::send_message_shared_i, TAO_Transport::send_reply_message_i, and TAO_Transport::send_synchronous_message_i.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:15:02 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002