OpenDDS::DCPS::TcpConnectionReplaceTask Class Reference

Active Object managing a queue of connection info objects. More...

#include <TcpConnectionReplaceTask.h>

Inheritance diagram for OpenDDS::DCPS::TcpConnectionReplaceTask:

Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::TcpConnectionReplaceTask:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TcpConnectionReplaceTask (TcpTransport *trans)
 Constructor.
virtual ~TcpConnectionReplaceTask ()
 Virtual Destructor.
virtual void execute (TcpConnection_rch &con)
 Handle the request.

Private Attributes

TcpTransporttrans_

Detailed Description

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 38 of file TcpConnectionReplaceTask.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


Member Data Documentation

TcpTransport* OpenDDS::DCPS::TcpConnectionReplaceTask::trans_ [private]

Definition at line 52 of file TcpConnectionReplaceTask.h.

Referenced by execute().


The documentation for this class was generated from the following files:
Generated on Fri Feb 12 20:06:38 2016 for OpenDDS by  doxygen 1.4.7