OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | List of all members
OpenDDS::DCPS::MulticastLoader Class Reference

#include <MulticastLoader.h>

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

Public Member Functions

virtual int init (int argc, ACE_TCHAR *argv[])
 
- Public Member Functions inherited from ACE_Service_Object
 ACE_Service_Object (ACE_Reactor *=0)
 
virtual ~ACE_Service_Object (void)
 
virtual int suspend (void)
 
virtual int resume (void)
 
- Public Member Functions inherited from ACE_Event_Handler
virtual ~ACE_Event_Handler (void)
 
virtual ACE_HANDLE get_handle (void) const
 
virtual void set_handle (ACE_HANDLE)
 
virtual int priority (void) const
 
virtual void priority (int priority)
 
virtual int handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
 
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_Reactorreactor (void) const
 
virtual ACE_Reactor_Timer_Interfacereactor_timer_interface (void) const
 
virtual Reference_Count add_reference (void)
 
virtual Reference_Count remove_reference (void)
 
Reference_Counting_Policyreference_counting_policy (void)
 
- Public Member Functions inherited from ACE_Shared_Object
 ACE_Shared_Object (void)
 
virtual ~ACE_Shared_Object (void)
 
virtual int fini (void)
 
virtual int info (ACE_TCHAR **info_string, size_t length=0) const
 

Additional Inherited Members

- Public Types inherited from ACE_Event_Handler
typedef long Reference_Count
 
- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 
- Public Attributes inherited from ACE_Service_Object
 ACE_ALLOC_HOOK_DECLARE
 
- Public Attributes inherited from ACE_Event_Handler
 LO_PRIORITY
 
 HI_PRIORITY
 
 NULL_MASK
 
 READ_MASK
 
 WRITE_MASK
 
 EXCEPT_MASK
 
 ACCEPT_MASK
 
 CONNECT_MASK
 
 TIMER_MASK
 
 QOS_MASK
 
 GROUP_QOS_MASK
 
 SIGNAL_MASK
 
 ALL_EVENTS_MASK
 
 RWE_MASK
 
 DONT_CALL
 
 ACE_EVENT_HANDLER_NOT_RESUMED
 
 ACE_REACTOR_RESUMES_HANDLER
 
 ACE_APPLICATION_RESUMES_HANDLER
 
- Protected Types inherited from ACE_Event_Handler
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_CountAtomic_Reference_Count
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 

Detailed Description

Definition at line 23 of file MulticastLoader.h.

Member Function Documentation

◆ init()

int OpenDDS::DCPS::MulticastLoader::init ( int  argc,
ACE_TCHAR argv[] 
)
virtual

Reimplemented from ACE_Shared_Object.

Definition at line 34 of file MulticastLoader.cpp.

References ACE_ERROR_RETURN, OpenDDS::DCPS::ACE_FACTORY_DEFINE(), ACE_STATIC_SVC_DEFINE(), ACE_SVC_NAME(), ACE_SVC_OBJ_T, ACE_TEXT(), OpenDDS::DCPS::TransportRegistry::create_inst(), ACE_Service_Type::DELETE_OBJ, ACE_Service_Type::DELETE_THIS, OpenDDS::DCPS::TransportRegistry::get_config(), OpenDDS::DCPS::RcHandle< T >::in(), LM_ERROR, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::TransportRegistry::register_type(), OpenDDS::DCPS::TransportConfig::sorted_insert(), and TheTransportRegistry.

35 {
36  static bool initialized(false);
37 
38  if (initialized) return 0; // already initialized
39 
40  TransportRegistry* registry = TheTransportRegistry;
41  if (!registry->register_type(make_rch<MulticastType>())) {
42  return 0;
43  }
44 
46  registry->get_config(TransportRegistry::DEFAULT_CONFIG_NAME);
47 
48  TransportInst_rch default_unrel =
49  registry->create_inst(TransportRegistry::DEFAULT_INST_PREFIX
50  + std::string("0410_MCAST_UNRELIABLE"),
51  MULTICAST_NAME);
52  MulticastInst* mi = dynamic_cast<MulticastInst*>(default_unrel.in());
53  if (!mi) {
54  ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) MulticastLoader::init:")
55  ACE_TEXT(" failed to obtain MulticastInst.\n")), -1);
56  }
57  mi->reliable_ = false;
58  cfg->sorted_insert(default_unrel);
59 
60  TransportInst_rch default_rel =
61  registry->create_inst(TransportRegistry::DEFAULT_INST_PREFIX
62  + std::string("0420_MCAST_RELIABLE"), MULTICAST_NAME);
63  cfg->sorted_insert(default_rel);
64 
65  initialized = true;
66 
67  return 0;
68 }
#define TheTransportRegistry
static const char DEFAULT_INST_PREFIX[]
static const char DEFAULT_CONFIG_NAME[]
RcHandle< TransportInst > TransportInst_rch
The type definition for the smart-pointer to the underlying type.
ACE_TEXT("TCP_Factory")
#define ACE_ERROR_RETURN(X, Y)
RcHandle< TransportConfig > TransportConfig_rch

The documentation for this class was generated from the following files: