OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <ReactorInterceptor.h>
Classes | |
class | Command |
Public Types | |
typedef RcHandle< Command > | CommandPtr |
![]() | |
typedef long | Reference_Count |
Public Member Functions | |
CommandPtr | execute_or_enqueue (CommandPtr command) |
virtual bool | reactor_is_shut_down () const =0 |
virtual void | reactor (ACE_Reactor *reactor) |
virtual ACE_Reactor * | reactor () const |
![]() | |
RcEventHandler () | |
ACE_Event_Handler::Reference_Count | add_reference () |
ACE_Event_Handler::Reference_Count | remove_reference () |
![]() | |
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_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 |
Reference_Counting_Policy & | reference_counting_policy (void) |
![]() | |
virtual | ~RcObject () |
virtual void | _add_ref () |
virtual void | _remove_ref () |
long | ref_count () const |
WeakObject * | _get_weak_object () const |
Protected Types | |
enum | ReactorState { RS_NONE, RS_NOTIFIED, RS_PROCESSING } |
![]() | |
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_Count > | Atomic_Reference_Count |
Protected Member Functions | |
ReactorInterceptor (ACE_Reactor *reactor, ACE_thread_t owner) | |
virtual | ~ReactorInterceptor () |
int | handle_exception (ACE_HANDLE) |
void | process_command_queue_i (ACE_Guard< ACE_Thread_Mutex > &guard) |
typedef | OPENDDS_VECTOR (CommandPtr) Queue |
![]() | |
ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY) | |
![]() | |
RcObject () | |
Protected Attributes | |
ACE_thread_t | owner_ |
ACE_Thread_Mutex | mutex_ |
Queue | command_queue_ |
ReactorState | state_ |
![]() | |
Atomic_Reference_Count | reference_count_ |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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 | |
Definition at line 28 of file ReactorInterceptor.h.
Definition at line 49 of file ReactorInterceptor.h.
|
protected |
|
protected |
Definition at line 26 of file ReactorInterceptor.cpp.
References ACE_Event_Handler::reactor().
|
protectedvirtual |
Definition at line 34 of file ReactorInterceptor.cpp.
ReactorInterceptor::CommandPtr OpenDDS::DCPS::ReactorInterceptor::execute_or_enqueue | ( | CommandPtr | command | ) |
Definition at line 38 of file ReactorInterceptor.cpp.
References command_queue_, mutex_, ACE_Reactor::notify(), OPENDDS_ASSERT, owner_, process_command_queue_i(), ACE_Event_Handler::reactor(), reactor_is_shut_down(), ACE_Guard< ACE_LOCK >::release(), RS_NONE, RS_NOTIFIED, RS_PROCESSING, ACE_Thread::self(), state_, and ACE_OS::thr_equal().
Referenced by OpenDDS::DCPS::DataLink::add_on_start_callback(), OpenDDS::DCPS::SporadicTask::cancel(), OpenDDS::DCPS::InstanceState::cancel_release(), OpenDDS::DCPS::EndHistoricSamplesMissedSweeper::cancel_timer(), OpenDDS::DCPS::PeriodicTask::disable(), OpenDDS::DCPS::MultiTask::disable(), OpenDDS::DCPS::PeriodicTask::enable(), OpenDDS::DCPS::MultiTask::enable(), OpenDDS::DCPS::RtpsUdpTransport::make_datalink(), OpenDDS::RTPS::Spdp::SpdpTransport::open(), OpenDDS::DCPS::SporadicTask::schedule(), OpenDDS::DCPS::InstanceState::schedule_release(), OpenDDS::DCPS::EndHistoricSamplesMissedSweeper::schedule_timer(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::start_i(), OpenDDS::DCPS::RtpsUdpTransport::start_ice(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::stop_i(), and OpenDDS::DCPS::RtpsUdpTransport::stop_ice().
|
protectedvirtual |
Reimplemented from ACE_Event_Handler.
Definition at line 78 of file ReactorInterceptor.cpp.
References mutex_, process_command_queue_i(), and TheServiceParticipant.
|
protected |
|
protected |
Definition at line 87 of file ReactorInterceptor.cpp.
References command_queue_, mutex_, ACE_Reactor::notify(), ACE_Event_Handler::reactor(), reactor(), ACE_Guard< ACE_LOCK >::release(), RS_NONE, RS_NOTIFIED, RS_PROCESSING, and state_.
Referenced by execute_or_enqueue(), and handle_exception().
|
virtual |
Reimplemented from ACE_Event_Handler.
Definition at line 110 of file ReactorInterceptor.cpp.
References mutex_, and ACE_Event_Handler::reactor().
Referenced by OpenDDS::DCPS::WriterInfo::cancel_historic_samples_timer(), OpenDDS::DCPS::MultiTask::MultiTask(), OpenDDS::DCPS::PeriodicTask::PeriodicTask(), OpenDDS::DCPS::WriterInfo::schedule_historic_samples_timer(), and OpenDDS::DCPS::SporadicTask::SporadicTask().
|
virtual |
Reimplemented from ACE_Event_Handler.
Definition at line 116 of file ReactorInterceptor.cpp.
References mutex_, and ACE_Event_Handler::reactor().
Referenced by OpenDDS::DCPS::RegisterHandler::execute(), OpenDDS::DCPS::RemoveHandler::execute(), process_command_queue_i(), OpenDDS::DCPS::ReactorInterceptor::Command::set_reactor(), and OpenDDS::ICE::AgentImpl::shutdown().
|
pure virtual |
Implemented in OpenDDS::DCPS::DataReaderImpl::LivelinessTimer, OpenDDS::DCPS::DataLink::Interceptor, OpenDDS::DCPS::TransportClient::PendingAssocTimer, OpenDDS::DCPS::InstanceState, OpenDDS::DCPS::EndHistoricSamplesMissedSweeper, OpenDDS::ICE::AgentImpl, and OpenDDS::DCPS::ReactorTask::Interceptor.
Referenced by execute_or_enqueue().
|
protected |
Definition at line 76 of file ReactorInterceptor.h.
Referenced by execute_or_enqueue(), and process_command_queue_i().
|
mutableprotected |
Definition at line 74 of file ReactorInterceptor.h.
Referenced by execute_or_enqueue(), handle_exception(), OpenDDS::DCPS::EndHistoricSamplesMissedSweeper::handle_timeout(), process_command_queue_i(), and reactor().
|
protected |
Definition at line 73 of file ReactorInterceptor.h.
Referenced by execute_or_enqueue().
|
protected |
Definition at line 77 of file ReactorInterceptor.h.
Referenced by execute_or_enqueue(), and process_command_queue_i().