|
OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <ReactorTask.h>


Classes | |
| class | Interceptor |
Public Member Functions | |
| ReactorTask (bool useAsyncSend) | |
| virtual | ~ReactorTask () |
| int | open_reactor_task (void *, ThreadStatusManager *thread_status_manager=0, const String &name="") |
| virtual int | open (void *ptr) |
| virtual int | svc () |
| virtual int | close (u_long flags=0) |
| void | stop () |
| ACE_Reactor * | get_reactor () |
| const ACE_Reactor * | get_reactor () const |
| ACE_thread_t | get_reactor_owner () const |
| ACE_Proactor * | get_proactor () |
| const ACE_Proactor * | get_proactor () const |
| void | wait_for_startup () const |
| bool | is_shut_down () const |
| ReactorInterceptor_rch | interceptor () const |
Public Member Functions inherited from ACE_Task_Base | |
| ACE_Task_Base (ACE_Thread_Manager *=0) | |
| virtual | ~ACE_Task_Base (void) |
| virtual int | module_closed (void) |
| virtual int | put (ACE_Message_Block *, ACE_Time_Value *=0) |
| virtual int | activate (long flags=THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, int n_threads=1, int force_active=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, int grp_id=-1, ACE_Task_Base *task=0, ACE_hthread_t thread_handles[]=0, void *stack[]=0, size_t stack_size[]=0, ACE_thread_t thread_ids[]=0, const char *thr_name[]=0) |
| virtual int | wait (void) |
| virtual int | suspend (void) |
| virtual int | resume (void) |
| int | grp_id (void) const |
| void | grp_id (int) |
| ACE_Thread_Manager * | thr_mgr (void) const |
| void | thr_mgr (ACE_Thread_Manager *) |
| int | is_reader (void) const |
| int | is_writer (void) const |
| size_t | thr_count (void) const |
| ACE_thread_t | last_thread (void) const |
Public Member Functions inherited from ACE_Service_Object | |
| ACE_Service_Object (ACE_Reactor *=0) | |
| virtual | ~ACE_Service_Object (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 ¤t_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 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) |
Public Member Functions inherited from ACE_Shared_Object | |
| ACE_Shared_Object (void) | |
| virtual | ~ACE_Shared_Object (void) |
| virtual int | init (int argc, ACE_TCHAR *argv[]) |
| virtual int | fini (void) |
| virtual int | info (ACE_TCHAR **info_string, size_t length=0) const |
Public Member Functions inherited from OpenDDS::DCPS::RcObject | |
| virtual | ~RcObject () |
| virtual void | _add_ref () |
| virtual void | _remove_ref () |
| long | ref_count () const |
| WeakObject * | _get_weak_object () const |
Private Types | |
| enum | State { STATE_UNINITIALIZED, STATE_OPENING, STATE_RUNNING, STATE_SHUT_DOWN } |
| typedef ACE_SYNCH_MUTEX | LockType |
| typedef ACE_Guard< LockType > | GuardType |
| typedef ConditionVariable< LockType > | ConditionVariableType |
| typedef ACE_Timer_Heap_T< ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall, ACE_SYNCH_RECURSIVE_MUTEX, MonotonicClock > | TimerQueueType |
Private Member Functions | |
| virtual void | reactor (ACE_Reactor *reactor) |
| virtual ACE_Reactor * | reactor () const |
| void | cleanup () |
| void | wait_for_startup_i () const |
Definition at line 34 of file ReactorTask.h.
|
private |
Definition at line 80 of file ReactorTask.h.
|
private |
Definition at line 79 of file ReactorTask.h.
|
private |
Definition at line 78 of file ReactorTask.h.
|
private |
Definition at line 83 of file ReactorTask.h.
|
private |
| Enumerator | |
|---|---|
| STATE_UNINITIALIZED | |
| STATE_OPENING | |
| STATE_RUNNING | |
| STATE_SHUT_DOWN | |
Definition at line 85 of file ReactorTask.h.
|
explicit |
Definition at line 32 of file ReactorTask.cpp.
References NULL_thread.
|
virtual |
|
private |
Definition at line 61 of file ReactorTask.cpp.
References ACE_Event_Handler::DONT_CALL, ACE_Proactor_Impl::get_handle(), ACE_Proactor::implementation(), proactor_, reactor_, ACE_Reactor::remove_handler(), and timer_queue_.
Referenced by open_reactor_task(), and ~ReactorTask().
|
virtual |
Reimplemented from ACE_Task_Base.
Definition at line 178 of file ReactorTask.cpp.
References OpenDDS::DCPS::RcObject::_remove_ref().
| ACE_INLINE ACE_Proactor * OpenDDS::DCPS::ReactorTask::get_proactor | ( | ) |
Definition at line 37 of file ReactorTask.inl.
References ACE_INLINE, lock_, and proactor_.
Referenced by OpenDDS::DCPS::MulticastDataLink::get_proactor().
| ACE_INLINE const ACE_Proactor * OpenDDS::DCPS::ReactorTask::get_proactor | ( | ) | const |
| ACE_INLINE ACE_Reactor * OpenDDS::DCPS::ReactorTask::get_reactor | ( | void | ) |
Definition at line 14 of file ReactorTask.inl.
References ACE_INLINE, lock_, and reactor_.
Referenced by OpenDDS::RTPS::Spdp::SpdpTransport::close(), OpenDDS::DCPS::RtpsUdpTransport::configure_i(), OpenDDS::DCPS::TcpTransport::configure_i(), OpenDDS::DCPS::Service_Participant::get_domain_participant_factory(), OpenDDS::DCPS::TcpReceiveStrategy::get_reactor(), OpenDDS::DCPS::UdpDataLink::get_reactor(), OpenDDS::DCPS::MulticastDataLink::get_reactor(), OpenDDS::DCPS::RtpsUdpDataLink::get_reactor(), OpenDDS::RTPS::Sedp::init(), OpenDDS::RTPS::Spdp::SpdpTransport::open(), OpenDDS::DCPS::Service_Participant::reactor(), OpenDDS::DCPS::TransportImpl::reactor(), OpenDDS::RTPS::Spdp::SpdpTransport::register_handlers(), OpenDDS::DCPS::TcpReceiveStrategy::reset(), OpenDDS::DCPS::TcpReceiveStrategy::start_i(), and OpenDDS::DCPS::Service_Participant::timer().
| ACE_INLINE const ACE_Reactor * OpenDDS::DCPS::ReactorTask::get_reactor | ( | void | ) | const |
Definition at line 21 of file ReactorTask.inl.
References ACE_INLINE, lock_, reactor_, and wait_for_startup_i().
| ACE_INLINE ACE_thread_t OpenDDS::DCPS::ReactorTask::get_reactor_owner | ( | ) | const |
Definition at line 29 of file ReactorTask.inl.
References ACE_INLINE, lock_, reactor_owner_, and wait_for_startup_i().
Referenced by OpenDDS::DCPS::Service_Participant::reactor_owner(), and OpenDDS::DCPS::TransportImpl::reactor_owner().
| ACE_INLINE ReactorInterceptor_rch OpenDDS::DCPS::ReactorTask::interceptor | ( | ) | const |
Definition at line 65 of file ReactorTask.inl.
References interceptor_, lock_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, and wait_for_startup_i().
Referenced by OpenDDS::DCPS::RtpsUdpTransport::configure_i(), OpenDDS::DCPS::Service_Participant::get_domain_participant_factory(), OpenDDS::DCPS::RtpsUdpDataLink::get_reactor_interceptor(), OpenDDS::RTPS::Sedp::init(), OpenDDS::DCPS::Service_Participant::interceptor(), OpenDDS::DCPS::RtpsUdpTransport::make_datalink(), OpenDDS::DCPS::ShmemDataLink::open(), OpenDDS::RTPS::Spdp::SpdpTransport::open(), OpenDDS::DCPS::RtpsUdpTransport::start_ice(), and OpenDDS::DCPS::RtpsUdpTransport::stop_ice().
| ACE_INLINE bool OpenDDS::DCPS::ReactorTask::is_shut_down | ( | ) | const |
Definition at line 58 of file ReactorTask.inl.
References ACE_INLINE, lock_, state_, and STATE_SHUT_DOWN.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::reactor_is_shut_down().
|
inlinevirtual |
Reimplemented from ACE_Task_Base.
Definition at line 46 of file ReactorTask.h.
References close(), and OPENDDS_POOL_ALLOCATION_FWD.
| int OpenDDS::DCPS::ReactorTask::open_reactor_task | ( | void * | , |
| ThreadStatusManager * | thread_status_manager = 0, |
||
| const String & | name = "" |
||
| ) |
Definition at line 79 of file ReactorTask.cpp.
References ACE_ERROR_RETURN, ACE_Task_Base::activate(), cleanup(), condition_, ACE_WIN32_Proactor::get_handle(), LM_ERROR, lock_, name, name_, OpenDDS::DCPS::ConditionVariable< Mutex >::notify_all(), proactor_, reactor_, ACE_Reactor::register_handler(), state_, STATE_OPENING, STATE_RUNNING, thread_status_manager_, ACE_Reactor::timer_queue(), timer_queue_, and OpenDDS::DCPS::ConditionVariable< Mutex >::wait().
Referenced by OpenDDS::DCPS::TransportImpl::create_reactor_task(), and OpenDDS::DCPS::Service_Participant::get_domain_participant_factory().
|
privatevirtual |
Reimplemented from ACE_Event_Handler.
Definition at line 245 of file ReactorTask.cpp.
References ACE_Event_Handler::reactor().
|
privatevirtual |
Reimplemented from ACE_Event_Handler.
Definition at line 250 of file ReactorTask.cpp.
References OPENDDS_END_VERSIONED_NAMESPACE_DECL, and ACE_Event_Handler::reactor().
Referenced by stop().
| void OpenDDS::DCPS::ReactorTask::stop | ( | void | ) |
Definition at line 196 of file ReactorTask.cpp.
References ACE_Event_Handler::DONT_CALL, ACE_Reactor::end_reactor_event_loop(), ACE_Proactor_Impl::get_handle(), ACE_Proactor::implementation(), lock_, OPENDDS_ASSERT, proactor_, reactor(), reactor_, ACE_Reactor::remove_handler(), state_, STATE_SHUT_DOWN, STATE_UNINITIALIZED, ACE_Task_Base::thr_mgr(), thread_status_manager_, and ACE_Task_Base::wait().
Referenced by OpenDDS::DCPS::Service_Participant::shutdown(), and OpenDDS::DCPS::TransportImpl::shutdown().
|
virtual |
Reimplemented from ACE_Task_Base.
Definition at line 129 of file ReactorTask.cpp.
References OpenDDS::DCPS::RcObject::_add_ref(), ACE_ERROR, condition_, ACE_Thread_Manager::instance(), interceptor_, LM_ERROR, lock_, name_, OpenDDS::DCPS::ConditionVariable< Mutex >::notify_all(), ACE_Reactor::owner(), reactor_, reactor_owner_, ACE_Reactor::run_reactor_event_loop(), SIG_SETMASK, ACE_OS::sigfillset(), state_, STATE_RUNNING, ACE_Thread_Manager::thr_self(), ACE_OS::thr_sigsetmask(), OpenDDS::DCPS::ThreadStatusManager::thread_status_interval(), thread_status_manager_, and OpenDDS::DCPS::ThreadStatusManager::update_thread_status().
| ACE_INLINE void OpenDDS::DCPS::ReactorTask::wait_for_startup | ( | ) | const |
Definition at line 51 of file ReactorTask.inl.
References ACE_INLINE, lock_, and wait_for_startup_i().
|
private |
Definition at line 52 of file ReactorTask.cpp.
References condition_, state_, STATE_OPENING, STATE_UNINITIALIZED, TheServiceParticipant, thread_status_manager_, and OpenDDS::DCPS::ConditionVariable< Mutex >::wait().
Referenced by get_reactor(), get_reactor_owner(), interceptor(), and wait_for_startup().
|
mutableprivate |
Definition at line 103 of file ReactorTask.h.
Referenced by open_reactor_task(), svc(), and wait_for_startup_i().
|
private |
Definition at line 119 of file ReactorTask.h.
Referenced by interceptor(), and svc().
|
mutableprivate |
Definition at line 102 of file ReactorTask.h.
Referenced by get_proactor(), get_reactor(), get_reactor_owner(), interceptor(), is_shut_down(), open_reactor_task(), stop(), svc(), and wait_for_startup().
|
private |
Definition at line 117 of file ReactorTask.h.
Referenced by open_reactor_task(), and svc().
|
private |
Definition at line 107 of file ReactorTask.h.
Referenced by cleanup(), get_proactor(), open_reactor_task(), and stop().
|
private |
Definition at line 105 of file ReactorTask.h.
Referenced by cleanup(), get_reactor(), open_reactor_task(), stop(), and svc().
|
private |
Definition at line 106 of file ReactorTask.h.
Referenced by get_reactor_owner(), and svc().
|
private |
Definition at line 104 of file ReactorTask.h.
Referenced by is_shut_down(), open_reactor_task(), stop(), svc(), and wait_for_startup_i().
|
private |
Definition at line 120 of file ReactorTask.h.
Referenced by open_reactor_task(), stop(), svc(), and wait_for_startup_i().
|
private |
Definition at line 114 of file ReactorTask.h.
Referenced by cleanup(), and open_reactor_task().
1.8.13