#include <MulticastTransport.h>
Inheritance diagram for OpenDDS::DCPS::MulticastTransport:


Public Member Functions | |
| MulticastTransport () | |
| ~MulticastTransport () | |
Protected Member Functions | |
| virtual DataLink * | find_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 | |
| MulticastConfiguration * | config_i_ |
| MulticastDataLink_rch | client_link_ |
| link for pubs. | |
| MulticastDataLink_rch | server_link_ |
| link for subs. | |
| OpenDDS::DCPS::MulticastTransport::MulticastTransport | ( | ) |
| OpenDDS::DCPS::MulticastTransport::~MulticastTransport | ( | ) |
| 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.
link for pubs.
link for subs.
1.4.7