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


Public Member Functions | |
| MulticastTransport (const TransportInst_rch &inst) | |
| ~MulticastTransport () | |
| void | passive_connection (MulticastPeer peer) |
Protected Member Functions | |
| virtual DataLink * | find_datalink_i (const RepoId &local_id, const RepoId &remote_id, const TransportBLOB &remote_data, CORBA::Long priority, bool active) |
| virtual DataLink * | connect_datalink_i (const RepoId &local_id, const RepoId &remote_id, const TransportBLOB &remote_data, CORBA::Long priority) |
| virtual DataLink * | accept_datalink (ConnectionEvent &ce) |
| virtual void | stop_accepting (ConnectionEvent &ce) |
| virtual bool | configure_i (TransportInst *config) |
| virtual void | shutdown_i () |
| virtual bool | connection_info_i (TransportLocator &info) const |
| virtual void | release_datalink_i (DataLink *link, bool release_pending) |
| virtual std::string | transport_type () const |
| virtual PriorityKey | blob_to_key (const TransportBLOB &, CORBA::Long, bool) |
Private Member Functions | |
| MulticastDataLink * | make_datalink (const RepoId &local_id, const RepoId &remote_id, CORBA::Long priority, bool active) |
| MulticastSession * | start_session (const MulticastDataLink_rch &link, MulticastPeer remote_peer, bool active) |
Private Attributes | |
| RcHandle< MulticastInst > | config_i_ |
| MulticastDataLink_rch | client_link_ |
| link for pubs. | |
| MulticastDataLink_rch | server_link_ |
| link for subs. | |
| ACE_SYNCH_MUTEX | connections_lock_ |
| std::multimap< ConnectionEvent *, MulticastPeer > | pending_connections_ |
| std::set< MulticastPeer > | connections_ |
| OpenDDS::DCPS::MulticastTransport::MulticastTransport | ( | const TransportInst_rch & | inst | ) | [explicit] |
| OpenDDS::DCPS::MulticastTransport::~MulticastTransport | ( | ) |
| DataLink * OpenDDS::DCPS::MulticastTransport::accept_datalink | ( | ConnectionEvent & | ce | ) | [protected, virtual] |
| virtual PriorityKey OpenDDS::DCPS::MulticastTransport::blob_to_key | ( | const TransportBLOB & | , | |
| CORBA::Long | , | |||
| bool | ||||
| ) | [inline, protected, virtual] |
Implements OpenDDS::DCPS::TransportImpl.
| bool OpenDDS::DCPS::MulticastTransport::configure_i | ( | TransportInst * | config | ) | [protected, virtual] |
Concrete subclass gets a shot at the config object. The subclass will likely downcast the TransportInst object to a subclass type that it expects/requires.
Implements OpenDDS::DCPS::TransportImpl.
| DataLink * OpenDDS::DCPS::MulticastTransport::connect_datalink_i | ( | const RepoId & | local_id, | |
| const RepoId & | remote_id, | |||
| const TransportBLOB & | remote_data, | |||
| CORBA::Long | priority | |||
| ) | [protected, virtual] |
connect_datalink_i() is called from TransportClient::associate() (via TransportImpl::connect_datalink()) for each TransportImpl on the active side, until a valid datalink is returned. Any datalink returned should be a fully connected datalink matching this connection event. This method should block and wait for the physical connection (either in the form of a connection event or handshaking message). If the connection is unable to be completed, returning 0 causes TransportClient::associate() to try the next TransportImpl in the current configuration.
Implements OpenDDS::DCPS::TransportImpl.
| bool OpenDDS::DCPS::MulticastTransport::connection_info_i | ( | TransportLocator & | 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 TransportLocator object.
Implements OpenDDS::DCPS::TransportImpl.
| DataLink * OpenDDS::DCPS::MulticastTransport::find_datalink_i | ( | const RepoId & | local_id, | |
| const RepoId & | remote_id, | |||
| const TransportBLOB & | remote_data, | |||
| CORBA::Long | priority, | |||
| bool | active | |||
| ) | [protected, virtual] |
find_datalink_i() attempts to return a DataLink that was previously created via either accept_datalink() or connect_datalink_i(). If one is not available, the transport framework proceeds with creating a new datalink.
Implements OpenDDS::DCPS::TransportImpl.
| MulticastDataLink * OpenDDS::DCPS::MulticastTransport::make_datalink | ( | const RepoId & | local_id, | |
| const RepoId & | remote_id, | |||
| CORBA::Long | priority, | |||
| bool | active | |||
| ) | [private] |
| void OpenDDS::DCPS::MulticastTransport::passive_connection | ( | MulticastPeer | peer | ) |
| 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::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.
| MulticastSession * OpenDDS::DCPS::MulticastTransport::start_session | ( | const MulticastDataLink_rch & | link, | |
| MulticastPeer | remote_peer, | |||
| bool | active | |||
| ) | [private] |
| void OpenDDS::DCPS::MulticastTransport::stop_accepting | ( | ConnectionEvent & | ce | ) | [protected, virtual] |
| virtual std::string OpenDDS::DCPS::MulticastTransport::transport_type | ( | ) | const [inline, protected, virtual] |
Implements OpenDDS::DCPS::TransportImpl.
link for pubs.
std::set<MulticastPeer> OpenDDS::DCPS::MulticastTransport::connections_ [private] |
ACE_SYNCH_MUTEX OpenDDS::DCPS::MulticastTransport::connections_lock_ [private] |
std::multimap<ConnectionEvent*, MulticastPeer> OpenDDS::DCPS::MulticastTransport::pending_connections_ [private] |
link for subs.
1.4.7