| 
    OpenDDS
    Snapshot(2023/04/25-14:16)
    
   | 
 
Event Handler that services multicast requests for IOR of a bootstrappable service. More...
#include <InfoRepoMulticastResponder.h>


Public Member Functions | |
| InfoRepoMulticastResponder () | |
| virtual | ~InfoRepoMulticastResponder () | 
| int | init (CORBA::ORB_ptr orb, u_short port, const char *mcast_addr) | 
| Initialization method.  More... | |
| int | init (CORBA::ORB_ptr orb, const char *mcast_addr) | 
| virtual int | handle_input (ACE_HANDLE n) | 
| Callback when input is received on the handle.  More... | |
| virtual int | handle_timeout (const ACE_Time_Value &tv, const void *arg) | 
| Callback when a timeout has occurred.  More... | |
| virtual ACE_HANDLE | get_handle () const | 
| Returns the internal handle used to receive multicast.  More... | |
  Public Member Functions inherited from ACE_Event_Handler | |
| virtual | ~ACE_Event_Handler (void) | 
| virtual void | set_handle (ACE_HANDLE) | 
| virtual int | priority (void) const | 
| virtual void | priority (int priority) | 
| virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
| virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
| virtual int | handle_exit (ACE_Process *) | 
| virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) | 
| virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) | 
| virtual int | resume_handler (void) | 
| virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) | 
| virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) | 
| virtual void | reactor (ACE_Reactor *reactor) | 
| virtual ACE_Reactor * | reactor (void) const | 
| virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface (void) const | 
| virtual Reference_Count | add_reference (void) | 
| virtual Reference_Count | remove_reference (void) | 
| Reference_Counting_Policy & | reference_counting_policy (void) | 
Private Member Functions | |
| int | common_init (CORBA::ORB_ptr orb) | 
| Factor common functionality from the two init functions.  More... | |
Private Attributes | |
| bool | initialized_ | 
| Are we initialized?  More... | |
| CORBA::ORB_var | orb_ | 
| The ORB.  More... | |
| ACE_SOCK_Dgram_Mcast | mcast_dgram_ | 
| multicast endpoint of communication  More... | |
| ACE_INET_Addr | mcast_addr_ | 
| multicast address  More... | |
| ACE_INET_Addr | response_addr_ | 
| address of response.  More... | |
| ACE_SOCK_Dgram | response_ | 
| socket for response to the multicast  More... | |
| ACE_CString | mcast_nic_ | 
Event Handler that services multicast requests for IOR of a bootstrappable service.
This class uses the ACE_SOCK_Dgram_Mcast class and should be registered with a reactor and should be initialized with the ior of the service to be multicasted.
Definition at line 42 of file InfoRepoMulticastResponder.h.
| OpenDDS::Federator::InfoRepoMulticastResponder::InfoRepoMulticastResponder | ( | ) | 
Definition at line 27 of file InfoRepoMulticastResponder.cpp.
      
  | 
  virtual | 
Definition at line 32 of file InfoRepoMulticastResponder.cpp.
References ACE_ERROR, ACE_TEXT(), initialized_, ACE_SOCK_Dgram_Mcast::leave(), LM_ERROR, and mcast_dgram_.
      
  | 
  private | 
Factor common functionality from the two init functions.
Definition at line 109 of file InfoRepoMulticastResponder.cpp.
References CORBA::ORB::_duplicate(), ACE_ERROR_RETURN, ACE_TEXT(), ACE_TEXT_CHAR_TO_TCHAR, ACE_String_Base< char >::c_str(), ACE_SOCK_Dgram_Mcast::DEFOPT_NULLIFACE, initialized_, ACE_SOCK_Dgram_Mcast::join(), ACE_String_Base< char >::length(), LM_ERROR, mcast_dgram_, mcast_nic_, ACE_SOCK_Dgram::open(), ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_NO, ACE_SOCK_Dgram_Mcast::opts(), orb_, response_, response_addr_, and ACE_INET_Addr::set().
Referenced by init().
      
  | 
  virtual | 
Returns the internal handle used to receive multicast.
Reimplemented from ACE_Event_Handler.
Definition at line 42 of file InfoRepoMulticastResponder.cpp.
References ACE_IPC_SAP::get_handle(), and mcast_dgram_.
      
  | 
  virtual | 
Callback when input is received on the handle.
Reimplemented from ACE_Event_Handler.
Definition at line 159 of file InfoRepoMulticastResponder.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_ERROR_RETURN, ACE_HTONS, ACE_IPV6_LOCALHOST, ACE_NTOHS, ACE_TEXT(), OpenDDS::DCPS::LogAddr::c_str(), ACE_SOCK_Stream::close(), ACE_SOCK_Connector::connect(), OpenDDS::DCPS::DCPS_debug_level, ACE::get_ip_interfaces(), header, OpenDDS::DCPS::LogAddr::HostPort, TAO_Pseudo_Var_T< Object >::in(), ACE_INET_Addr::is_linklocal(), CORBA::is_nil(), LM_DEBUG, LM_ERROR, mcast_dgram_, MSG_PEEK, OPENDDS_END_VERSIONED_NAMESPACE_DECL, orb_, ACE_SOCK_Dgram::recv(), ACE_SOCK_Stream::sendv_n(), ACE_INET_Addr::set(), and ACE_INET_Addr::set_port_number().
      
  | 
  virtual | 
Callback when a timeout has occurred.
Reimplemented from ACE_Event_Handler.
Definition at line 152 of file InfoRepoMulticastResponder.cpp.
| int OpenDDS::Federator::InfoRepoMulticastResponder::init | ( | CORBA::ORB_ptr | orb, | 
| u_short | port, | ||
| const char * | mcast_addr | ||
| ) | 
Initialization method.
Definition at line 48 of file InfoRepoMulticastResponder.cpp.
References ACE_ERROR_RETURN, ACE_TEXT(), common_init(), initialized_, LM_ERROR, mcast_addr_, and ACE_INET_Addr::set().
Referenced by OpenDDS::Federator::ManagerImpl::initialize().
| int OpenDDS::Federator::InfoRepoMulticastResponder::init | ( | CORBA::ORB_ptr | orb, | 
| const char * | mcast_addr | ||
| ) | 
Initialization method. Takes in "address:port" string as a parameter.
Save for use later.
Definition at line 64 of file InfoRepoMulticastResponder.cpp.
References ACE_ERROR_RETURN, ACE_TEXT(), common_init(), TAO::String_var< charT >::in(), initialized_, TAO::String_var< charT >::inout(), LM_ERROR, mcast_addr_, mcast_nic_, ACE_INET_Addr::set(), ACE_OS::strchr(), CORBA::string_alloc(), ACE_OS::strlen(), and ACE_OS::strncpy().
      
  | 
  private | 
Are we initialized?
Definition at line 76 of file InfoRepoMulticastResponder.h.
Referenced by common_init(), init(), and ~InfoRepoMulticastResponder().
      
  | 
  private | 
      
  | 
  private | 
multicast endpoint of communication
Definition at line 82 of file InfoRepoMulticastResponder.h.
Referenced by common_init(), get_handle(), handle_input(), and ~InfoRepoMulticastResponder().
      
  | 
  private | 
Definition at line 93 of file InfoRepoMulticastResponder.h.
Referenced by common_init(), and init().
      
  | 
  private | 
The ORB.
Definition at line 79 of file InfoRepoMulticastResponder.h.
Referenced by common_init(), and handle_input().
      
  | 
  private | 
socket for response to the multicast
Definition at line 91 of file InfoRepoMulticastResponder.h.
Referenced by common_init().
      
  | 
  private | 
address of response.
Definition at line 88 of file InfoRepoMulticastResponder.h.
Referenced by common_init().
 1.8.13