TAO  2.3.3
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TAO_Connect_Strategy Class Referenceabstract

Define the interface for the connect strategy, i.e. the algorithm that controls how does the ORB establishes remote connections. More...

#include <Connect_Strategy.h>

Inheritance diagram for TAO_Connect_Strategy:
Inheritance graph
[legend]
Collaboration diagram for TAO_Connect_Strategy:
Collaboration graph
[legend]

Public Member Functions

 TAO_Connect_Strategy (TAO_ORB_Core *orb)
 Constructor. More...
 
virtual ~TAO_Connect_Strategy (void)
 Destructor. More...
 
virtual void synch_options (ACE_Time_Value *val, ACE_Synch_Options &opt)=0
 Obtain the synch options that can be passed to ACE_Connector. More...
 
int wait (TAO_Connection_Handler *ch, ACE_Time_Value *val)
 Wait for the connection to be completed till a timeout occurs. More...
 
int wait (TAO_Transport *t, ACE_Time_Value *val)
 
int wait (TAO_LF_Multi_Event *ev, ACE_Time_Value *val)
 
int poll (TAO_LF_Multi_Event *ev)
 

Protected Member Functions

virtual int wait_i (TAO_LF_Event *ev, TAO_Transport *t, ACE_Time_Value *val)=0
 This is the method that does all the real interesting stuff. More...
 

Protected Attributes

TAO_ORB_Core *const orb_core_
 Cached copy of the ORB core pointer. More...
 

Detailed Description

Define the interface for the connect strategy, i.e. the algorithm that controls how does the ORB establishes remote connections.

The thread that establishes remote connections can either make a blocking or a non-blocking connect. The strategy to wait for the connection completion can also be different.

This strategy controls how does the ORB schedules and waits for connection completion.

Constructor & Destructor Documentation

TAO_Connect_Strategy::TAO_Connect_Strategy ( TAO_ORB_Core orb)

Constructor.

TAO_Connect_Strategy::~TAO_Connect_Strategy ( void  )
virtual

Destructor.

Member Function Documentation

int TAO_Connect_Strategy::poll ( TAO_LF_Multi_Event ev)

Do a quick check to see if any connections are complete. This does the same as the wait with an explicit time value of 0.

virtual void TAO_Connect_Strategy::synch_options ( ACE_Time_Value val,
ACE_Synch_Options opt 
)
pure virtual

Obtain the synch options that can be passed to ACE_Connector.

Return the synch option for the connector, based on the timeout and the strategy in place. ACE_Connectors behavior can be altered by passing the right ACE_Synch_Options to the connect () call.

Implemented in TAO_LF_Connect_Strategy, TAO_Reactive_Connect_Strategy, and TAO_Blocked_Connect_Strategy.

int TAO_Connect_Strategy::wait ( TAO_Connection_Handler ch,
ACE_Time_Value val 
)

Wait for the connection to be completed till a timeout occurs.

If the connection establishment fails the state within the connection handler is set appropriately.

int TAO_Connect_Strategy::wait ( TAO_Transport t,
ACE_Time_Value val 
)
int TAO_Connect_Strategy::wait ( TAO_LF_Multi_Event ev,
ACE_Time_Value val 
)

Wait for one of many connections to complete. Returns when one succeeds or all fail.

virtual int TAO_Connect_Strategy::wait_i ( TAO_LF_Event ev,
TAO_Transport t,
ACE_Time_Value val 
)
protectedpure virtual

This is the method that does all the real interesting stuff.

Implemented in TAO_LF_Connect_Strategy, TAO_Reactive_Connect_Strategy, and TAO_Blocked_Connect_Strategy.

Member Data Documentation

TAO_ORB_Core* const TAO_Connect_Strategy::orb_core_
protected

Cached copy of the ORB core pointer.


The documentation for this class was generated from the following files: