#include <TcpConnectionReplaceTask.h>
Inheritance diagram for OpenDDS::DCPS::TcpConnectionReplaceTask:
Public Member Functions | |
TcpConnectionReplaceTask (TcpTransport *trans) | |
Constructor. | |
virtual | ~TcpConnectionReplaceTask () |
Virtual Destructor. | |
virtual void | execute (TcpConnection_rch &con) |
Handle the request. | |
Private Attributes | |
TcpTransport * | trans_ |
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 38 of file TcpConnectionReplaceTask.h.
OpenDDS::DCPS::TcpConnectionReplaceTask::TcpConnectionReplaceTask | ( | TcpTransport * | trans | ) |
Constructor.
Definition at line 15 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL.
00017 : trans_(trans) 00018 { 00019 DBG_ENTRY_LVL("TcpConnectionReplaceTask","TcpConnectionReplaceTask",6); 00020 }
OpenDDS::DCPS::TcpConnectionReplaceTask::~TcpConnectionReplaceTask | ( | ) | [virtual] |
Virtual Destructor.
Definition at line 22 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL.
00023 { 00024 DBG_ENTRY_LVL("TcpConnectionReplaceTask","~TcpConnectionReplaceTask",6); 00025 }
void OpenDDS::DCPS::TcpConnectionReplaceTask::execute | ( | TcpConnection_rch & | con | ) | [virtual] |
Handle the request.
Definition at line 27 of file TcpConnectionReplaceTask.cpp.
References DBG_ENTRY_LVL, OpenDDS::DCPS::TcpTransport::fresh_link(), and trans_.
00028 { 00029 DBG_ENTRY_LVL("TcpConnectionReplaceTask","execute",6); 00030 00031 this->trans_->fresh_link(con); 00032 }