TAO
2.0.8
|
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>
Public Member Functions | |
TAO_Connect_Strategy (TAO_ORB_Core *orb) | |
Constructor. | |
virtual | ~TAO_Connect_Strategy (void) |
Destructor. | |
virtual void | synch_options (ACE_Time_Value *val, ACE_Synch_Options &opt)=0 |
Obtain the synch options that can be passed to ACE_Connector. | |
int | wait (TAO_Connection_Handler *ch, ACE_Time_Value *val) |
Wait for the connection to be completed till a timeout occurs. | |
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. | |
Protected Attributes | |
TAO_ORB_Core *const | orb_core_ |
Cached copy of the ORB core pointer. |
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.
TAO_Connect_Strategy::TAO_Connect_Strategy | ( | TAO_ORB_Core * | orb | ) |
Constructor.
TAO_Connect_Strategy::~TAO_Connect_Strategy | ( | void | ) | [virtual] |
Destructor.
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 | ||
) | [protected, pure 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.
TAO_ORB_Core* const TAO_Connect_Strategy::orb_core_ [protected] |
Cached copy of the ORB core pointer.