OpenDDS
Snapshot(2023/04/28-20:55)
|
#include <MulticastManager.h>
Public Member Functions | |
bool | process (InternalDataReader< NetworkInterfaceAddress >::SampleSequence &samples, InternalSampleInfoSequence &infos, const OPENDDS_STRING &multicast_interface, ACE_Reactor *reactor, ACE_Event_Handler *event_handler, const NetworkAddress &multicast_group_address, ACE_SOCK_Dgram_Mcast &multicast_socket) |
Returns true if at least one group was joined. More... | |
Private Member Functions | |
size_t | joined_interface_count () const |
bool | join (const NetworkInterfaceAddress &nia, ACE_Reactor *reactor, ACE_Event_Handler *event_handler, const NetworkAddress &multicast_group_address, ACE_SOCK_Dgram_Mcast &multicast_socket) |
void | leave (const NetworkInterfaceAddress &nia, const NetworkAddress &multicast_group_address, ACE_SOCK_Dgram_Mcast &multicast_socket) |
OPENDDS_SET (OPENDDS_STRING) joined_interfaces_ | |
Definition at line 24 of file MulticastManager.h.
|
private |
Definition at line 77 of file MulticastManager.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT_CHAR_TO_TCHAR, OpenDDS::DCPS::NetworkInterfaceAddress::address, OpenDDS::DCPS::LogAddr::c_str(), OpenDDS::DCPS::LogLevel::Error, OpenDDS::DCPS::LogLevel::Info, OpenDDS::DCPS::LogAddr::Ip, OpenDDS::DCPS::NetworkInterfaceAddress::is_ipv4(), OpenDDS::DCPS::NetworkInterfaceAddress::is_ipv6(), joined_interface_count(), LM_ERROR, LM_INFO, LM_WARNING, OpenDDS::DCPS::log_level, OpenDDS::DCPS::NetworkInterfaceAddress::name, ACE_Event_Handler::READ_MASK, ACE_Reactor::register_handler(), OpenDDS::DCPS::NetworkAddress::to_addr(), and OpenDDS::DCPS::LogLevel::Warning.
Referenced by process().
|
private |
Definition at line 68 of file MulticastManager.cpp.
|
private |
Definition at line 175 of file MulticastManager.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT_CHAR_TO_TCHAR, OpenDDS::DCPS::NetworkInterfaceAddress::address, OpenDDS::DCPS::LogAddr::c_str(), OpenDDS::DCPS::LogLevel::Info, OpenDDS::DCPS::LogAddr::Ip, OpenDDS::DCPS::NetworkInterfaceAddress::is_ipv4(), OpenDDS::DCPS::NetworkInterfaceAddress::is_ipv6(), joined_interface_count(), LM_INFO, LM_WARNING, OpenDDS::DCPS::log_level, OpenDDS::DCPS::NetworkInterfaceAddress::name, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::NetworkAddress::to_addr(), and OpenDDS::DCPS::LogLevel::Warning.
Referenced by process().
|
private |
bool OpenDDS::DCPS::MulticastManager::process | ( | InternalDataReader< NetworkInterfaceAddress >::SampleSequence & | samples, |
InternalSampleInfoSequence & | infos, | ||
const OPENDDS_STRING & | multicast_interface, | ||
ACE_Reactor * | reactor, | ||
ACE_Event_Handler * | event_handler, | ||
const NetworkAddress & | multicast_group_address, | ||
ACE_SOCK_Dgram_Mcast & | multicast_socket | ||
) |
Returns true if at least one group was joined.
Definition at line 18 of file MulticastManager.cpp.
References DDS::ALIVE_INSTANCE_STATE, OpenDDS::DCPS::NetworkInterfaceAddress::exclude_from_multicast(), DDS::SampleInfo::instance_state, join(), leave(), and OpenDDS::DCPS::NetworkInterfaceAddress::name.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::on_data_available(), and OpenDDS::RTPS::Spdp::SpdpTransport::on_data_available().