diff options
Diffstat (limited to 'TAO/tao/Connect_Strategy.cpp')
-rw-r--r-- | TAO/tao/Connect_Strategy.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/TAO/tao/Connect_Strategy.cpp b/TAO/tao/Connect_Strategy.cpp index 2299f775d46..9a79bece571 100644 --- a/TAO/tao/Connect_Strategy.cpp +++ b/TAO/tao/Connect_Strategy.cpp @@ -1,4 +1,7 @@ #include "tao/Connect_Strategy.h" +#include "tao/Transport.h" +#include "tao/Connection_Handler.h" +#include "tao/LF_Multi_Event.h" ACE_RCSID (tao, Connect_Strategy, @@ -16,4 +19,41 @@ TAO_Connect_Strategy::~TAO_Connect_Strategy (void) { } +int +TAO_Connect_Strategy::wait (TAO_Connection_Handler *ch, + ACE_Time_Value *max_wait_time) +{ + if (ch == 0) + return -1; + + return this->wait_i (ch, ch->transport (),max_wait_time); +} + +int +TAO_Connect_Strategy::wait (TAO_Transport *t, + ACE_Time_Value *max_wait_time) +{ + // Basically the connection was EINPROGRESS, but before we could + // wait for it some other thread detected a failure and cleaned up + // the connection handler. + if (t == 0) + return -1; + + return this->wait_i (t->connection_handler(),t,max_wait_time); +} + +int +TAO_Connect_Strategy::wait (TAO_LF_Multi_Event *mev, + ACE_Time_Value *max_wait_time) +{ + return this->wait_i (mev, mev->base_transport(), max_wait_time); +} + +int +TAO_Connect_Strategy::poll (TAO_LF_Multi_Event *mev) +{ + ACE_Time_Value zero(ACE_Time_Value::zero); + return this->wait_i (mev, mev->base_transport(), &zero); +} + TAO_END_VERSIONED_NAMESPACE_DECL |