OpenDDS::DCPS::TcpDataLink Class Reference

#include <TcpDataLink.h>

Inheritance diagram for OpenDDS::DCPS::TcpDataLink:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TcpDataLink (const ACE_INET_Addr &remote_address, TcpTransport *transport_impl, CORBA::Long priority, bool is_loopback, bool is_active)
virtual ~TcpDataLink ()
const ACE_INET_Addr & remote_address () const
 Accessor for the remote address.
int connect (TcpConnection *connection, TransportSendStrategy *send_strategy, TransportReceiveStrategy *receive_strategy)
int reconnect (TcpConnection *connection)
TcpConnection_rch get_connection ()
TcpTransport_rch get_transport_impl ()
virtual void pre_stop_i ()
void set_release_pending (bool flag)
 Set release pending flag.
bool is_release_pending () const
 Get release pending flag.

Protected Member Functions

virtual void stop_i ()

Private Member Functions

void send_graceful_disconnect_message ()

Private Attributes

ACE_INET_Addr remote_address_
TcpConnection_rch connection_
TcpTransport_rch transport_
bool graceful_disconnect_sent_
ACE_Atomic_Op< ACE_Thread_Mutex,
bool > 
release_is_pending_

Constructor & Destructor Documentation

OpenDDS::DCPS::TcpDataLink::TcpDataLink ( const ACE_INET_Addr &  remote_address,
TcpTransport transport_impl,
CORBA::Long  priority,
bool  is_loopback,
bool  is_active 
)

OpenDDS::DCPS::TcpDataLink::~TcpDataLink (  )  [virtual]


Member Function Documentation

int OpenDDS::DCPS::TcpDataLink::connect ( TcpConnection connection,
TransportSendStrategy send_strategy,
TransportReceiveStrategy receive_strategy 
)

Called when an established connection object is available for this TcpDataLink. Called by the TcpTransport's connect_datalink() method.

ACE_INLINE OpenDDS::DCPS::TcpConnection_rch OpenDDS::DCPS::TcpDataLink::get_connection (  ) 

ACE_INLINE OpenDDS::DCPS::TcpTransport_rch OpenDDS::DCPS::TcpDataLink::get_transport_impl (  ) 

bool OpenDDS::DCPS::TcpDataLink::is_release_pending (  )  const

Get release pending flag.

void OpenDDS::DCPS::TcpDataLink::pre_stop_i (  )  [virtual]

Called before release the datalink or before shutdown to let the concrete DataLink to do anything necessary.

Reimplemented from OpenDDS::DCPS::DataLink.

int OpenDDS::DCPS::TcpDataLink::reconnect ( TcpConnection connection  ) 

Associate the new connection object with this datalink object. The states of the "old" connection object are copied to the new connection object and the "old" connection object is replaced by the new connection object.

ACE_INLINE const ACE_INET_Addr & OpenDDS::DCPS::TcpDataLink::remote_address (  )  const

Accessor for the remote address.

void OpenDDS::DCPS::TcpDataLink::send_graceful_disconnect_message (  )  [private]

void OpenDDS::DCPS::TcpDataLink::set_release_pending ( bool  flag  ) 

Set release pending flag.

void OpenDDS::DCPS::TcpDataLink::stop_i (  )  [protected, virtual]

Called when the DataLink is self-releasing because all of its reservations have been released, or when the TransportImpl is handling a shutdown() call.

Reimplemented from OpenDDS::DCPS::DataLink.


Member Data Documentation

TcpConnection_rch OpenDDS::DCPS::TcpDataLink::connection_ [private]

bool OpenDDS::DCPS::TcpDataLink::graceful_disconnect_sent_ [private]

ACE_Atomic_Op<ACE_Thread_Mutex, bool> OpenDDS::DCPS::TcpDataLink::release_is_pending_ [private]

ACE_INET_Addr OpenDDS::DCPS::TcpDataLink::remote_address_ [private]

TcpTransport_rch OpenDDS::DCPS::TcpDataLink::transport_ [private]


The documentation for this class was generated from the following files:
Generated on Wed Nov 16 15:29:14 2011 for OpenDDS by  doxygen 1.4.7