OpenDDS::DCPS::MulticastTransport Class Reference

#include <MulticastTransport.h>

Inheritance diagram for OpenDDS::DCPS::MulticastTransport:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MulticastTransport ()
 ~MulticastTransport ()

Protected Member Functions

virtual DataLinkfind_or_create_datalink (RepoId local_id, const AssociationData *remote_association, CORBA::Long priority, bool active)
virtual int configure_i (TransportConfiguration *config)
virtual void shutdown_i ()
virtual int connection_info_i (TransportInterfaceInfo &info) const
virtual bool acked (RepoId local_id, RepoId remote_id)
virtual void remove_ack (RepoId local_id, RepoId remote_id)
virtual void release_datalink_i (DataLink *link, bool release_pending)

Private Attributes

MulticastConfigurationconfig_i_
MulticastDataLink_rch client_link_
 link for pubs.
MulticastDataLink_rch server_link_
 link for subs.

Constructor & Destructor Documentation

OpenDDS::DCPS::MulticastTransport::MulticastTransport (  ) 

OpenDDS::DCPS::MulticastTransport::~MulticastTransport (  ) 


Member Function Documentation

bool OpenDDS::DCPS::MulticastTransport::acked ( RepoId  local_id,
RepoId  remote_id 
) [protected, virtual]

Return true if the subscriptions to a datawriter is acknowledged, otherwise return false. In current supported transports, only SimpleTCP requires acknowledgment. Other transports do not need acknowledgment from subscriber side so these transports need override this function to always return true.

Reimplemented from OpenDDS::DCPS::TransportImpl.

int OpenDDS::DCPS::MulticastTransport::configure_i ( TransportConfiguration config  )  [protected, virtual]

Concrete subclass gets a shot at the config object. The subclass will likely downcast the TransportConfiguration object to a subclass type that it expects/requires.

Implements OpenDDS::DCPS::TransportImpl.

int OpenDDS::DCPS::MulticastTransport::connection_info_i ( TransportInterfaceInfo info  )  const [protected, virtual]

Called by our connection_info() method to allow the concrete TransportImpl subclass to do the dirty work since it really is the one that knows how to populate the supplied TransportInterfaceInfo object.

Implements OpenDDS::DCPS::TransportImpl.

DataLink * OpenDDS::DCPS::MulticastTransport::find_or_create_datalink ( RepoId  local_id,
const AssociationData remote_association,
CORBA::Long  priority,
bool  active 
) [protected, virtual]

If active is equal to true, then this find_or_create_datalink() call is being made on behalf of a local publisher id association with a remote subscriber id. If active is equal to false, then this find_or_create_datalink() call is being made on behalf of a local subscriber id association with a remote publisher id. Note that this "flag" is only used if the find operation fails, and a new DataLink must created and go through connection establishment. This allows the connection establishment logic to determine whether an active or passive connection needs to be made. If the find operation works, then we don't need to establish a connection since the existing DataLink is already connected.

Implements OpenDDS::DCPS::TransportImpl.

void OpenDDS::DCPS::MulticastTransport::release_datalink_i ( DataLink link,
bool  release_pending 
) [protected, virtual]

Called by our release_datalink() method in order to give the concrete TransportImpl subclass a chance to do something when the release_datalink "event" occurs.

Implements OpenDDS::DCPS::TransportImpl.

void OpenDDS::DCPS::MulticastTransport::remove_ack ( RepoId  local_id,
RepoId  remote_id 
) [protected, virtual]

Remove the pub_id-sub_id pair from ack map. In current supported transports, only SimpleTCP requires acknowledgment so it does remove the ack from ack map. Other transports has empty ack map so these transports need override this function to be noop.

Reimplemented from OpenDDS::DCPS::TransportImpl.

void OpenDDS::DCPS::MulticastTransport::shutdown_i (  )  [protected, virtual]

Called during the shutdown() method in order to give the concrete TransportImpl subclass a chance to do something when the shutdown "event" occurs.

Implements OpenDDS::DCPS::TransportImpl.


Member Data Documentation

MulticastDataLink_rch OpenDDS::DCPS::MulticastTransport::client_link_ [private]

link for pubs.

MulticastConfiguration* OpenDDS::DCPS::MulticastTransport::config_i_ [private]

MulticastDataLink_rch OpenDDS::DCPS::MulticastTransport::server_link_ [private]

link for subs.


The documentation for this class was generated from the following files:
Generated on Tue Aug 17 14:03:39 2010 for OpenDDS by  doxygen 1.4.7