diff options
Diffstat (limited to 'TAO/tao/Connect_Strategy.h')
-rw-r--r-- | TAO/tao/Connect_Strategy.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/TAO/tao/Connect_Strategy.h b/TAO/tao/Connect_Strategy.h index 1189a6cd171..4783039326a 100644 --- a/TAO/tao/Connect_Strategy.h +++ b/TAO/tao/Connect_Strategy.h @@ -34,6 +34,8 @@ class TAO_ORB_Core; class TAO_Connector; class TAO_Connection_Handler; class TAO_Transport; +class TAO_LF_Multi_Event; +class TAO_LF_Event; /** * @class TAO_Connect_Strategy @@ -72,13 +74,23 @@ public: /* If the connection establishment fails the state within the * connection handler is set appropriately. */ - virtual int wait (TAO_Connection_Handler *ch, - ACE_Time_Value *val) = 0; + int wait (TAO_Connection_Handler *ch, ACE_Time_Value *val); - virtual int wait (TAO_Transport *t, - ACE_Time_Value *val) = 0; + int wait (TAO_Transport *t, ACE_Time_Value *val); + + /// Wait for one of many connections to complete. Returns when one + /// succeeds or all fail. + int wait (TAO_LF_Multi_Event *ev, ACE_Time_Value *val); + + /// 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. + int poll (TAO_LF_Multi_Event *ev); protected: + /// This is the method that does all the real interesting stuff. + virtual int wait_i (TAO_LF_Event *ev, + TAO_Transport *t, + ACE_Time_Value *val) = 0; /// Cached copy of the ORB core pointer TAO_ORB_Core * const orb_core_; |