Active Object managing a queue of connection info objects. More...
#include <TcpConnectionReplaceTask.h>
Public Member Functions | |
TcpConnectionReplaceTask (TcpTransport *trans) | |
virtual | ~TcpConnectionReplaceTask () |
virtual void | execute (TcpConnection_rch &con) |
Handle the request. | |
Private Attributes | |
TcpTransport * | trans_ |
Active Object managing a queue of connection info objects.
This task is dedicated to check if the incoming connections are re-established connection from the remote. This would resolve the deadlock problem between the reactor thread (calling TcpTransport::passive_connection()) and the orb thread (calling TcpTransport::make_passive_connection()). The reactor thread will enqueue the new connection to this task and let this task dequeue and check the connection. This task handles all connections associated with a TransportImpl object.
Definition at line 40 of file TcpConnectionReplaceTask.h.
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL OpenDDS::DCPS::TcpConnectionReplaceTask::TcpConnectionReplaceTask | ( | TcpTransport * | trans | ) |
Definition at line 17 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL.
00019 : trans_(trans) 00020 { 00021 DBG_ENTRY_LVL("TcpConnectionReplaceTask","TcpConnectionReplaceTask",6); 00022 }
OpenDDS::DCPS::TcpConnectionReplaceTask::~TcpConnectionReplaceTask | ( | ) | [virtual] |
Definition at line 24 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL.
00025 { 00026 DBG_ENTRY_LVL("TcpConnectionReplaceTask","~TcpConnectionReplaceTask",6); 00027 }
void OpenDDS::DCPS::TcpConnectionReplaceTask::execute | ( | TcpConnection_rch & | con | ) | [virtual] |
Handle the request.
Implements OpenDDS::DCPS::QueueTaskBase< TcpConnection_rch >.
Definition at line 29 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL, OpenDDS::DCPS::TcpTransport::fresh_link(), and trans_.
00030 { 00031 DBG_ENTRY_LVL("TcpConnectionReplaceTask","execute",6); 00032 00033 this->trans_->fresh_link(con); 00034 }
Definition at line 51 of file TcpConnectionReplaceTask.h.
Referenced by execute().