|
TAO
2.0.7
|
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.
1.7.5