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)
virtual ~TcpConnectionReplaceTask ()
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 40 of file TcpConnectionReplaceTask.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }

Here is the call graph for this function:


Member Data Documentation

Definition at line 51 of file TcpConnectionReplaceTask.h.

Referenced by execute().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1