OpenDDS
Snapshot(2023/04/28-20:55)
|
#include <AgentImpl.h>
Classes | |
struct | Item |
Public Member Functions | |
AgentImpl () | |
void | shutdown () |
void | notify_shutdown () |
void | add_endpoint (DCPS::WeakRcHandle< Endpoint > a_endpoint) |
void | remove_endpoint (DCPS::WeakRcHandle< Endpoint > a_endpoint) |
AgentInfo | get_local_agent_info (DCPS::WeakRcHandle< Endpoint > a_endpoint) const |
void | add_local_agent_info_listener (DCPS::WeakRcHandle< Endpoint > a_endpoint, const DCPS::GUID_t &a_local_guid, DCPS::WeakRcHandle< AgentInfoListener > a_agent_info_listener) |
void | remove_local_agent_info_listener (DCPS::WeakRcHandle< Endpoint > a_endpoint, const DCPS::GUID_t &a_local_guid) |
void | start_ice (DCPS::WeakRcHandle< Endpoint > a_endpoint, const DCPS::GUID_t &a_local_guid, const DCPS::GUID_t &a_remote_guid, const AgentInfo &a_remote_agent_info) |
void | stop_ice (DCPS::WeakRcHandle< Endpoint > a_endpoint, const DCPS::GUID_t &a_local_guid, const DCPS::GUID_t &a_remote_guid) |
ACE_INET_Addr | get_address (DCPS::WeakRcHandle< Endpoint > a_endpoint, const DCPS::GUID_t &a_local_guid, const DCPS::GUID_t &a_remote_guid) const |
void | receive (DCPS::WeakRcHandle< Endpoint > a_endpoint, const ACE_INET_Addr &a_local_address, const ACE_INET_Addr &a_remote_address, const STUN::Message &a_message) |
void | enqueue (const DCPS::MonotonicTimePoint &a_release_time, WeakTaskPtr a_task) |
size_t | remote_peer_reflexive_counter () |
bool | contains (const FoundationType &a_foundation) const |
void | add (const FoundationType &a_foundation) |
void | remove (const FoundationType &a_foundation) |
void | unfreeze (const FoundationType &a_foundation) |
![]() | |
virtual | ~Agent () |
![]() | |
virtual | ~RcObject () |
virtual void | _add_ref () |
virtual void | _remove_ref () |
long | ref_count () const |
WeakObject * | _get_weak_object () const |
![]() | |
virtual | ~ShutdownListener () |
![]() | |
InternalDataReaderListener () | |
InternalDataReaderListener (JobQueue_rch job_queue) | |
void | job_queue (JobQueue_rch job_queue) |
virtual void | on_data_available (InternalDataReader_rch reader)=0 |
void | schedule (InternalDataReader_rch reader) |
![]() | |
CommandPtr | execute_or_enqueue (CommandPtr command) |
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_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) |
Private Types | |
typedef std::map< DCPS::WeakRcHandle< Endpoint >, EndpointManagerPtr > | EndpointManagerMapType |
Private Member Functions | |
void | on_data_available (DCPS::RcHandle< DCPS::InternalDataReader< DCPS::NetworkInterfaceAddress > > reader) |
void | process_deferred () |
bool | reactor_is_shut_down () const |
int | handle_timeout (const ACE_Time_Value &a_now, const void *) |
void | check_invariants () const |
Private Attributes | |
ActiveFoundationSet | active_foundations_ |
FoundationList | to_unfreeze_ |
bool | unfreeze_ |
DCPS::RcHandle< DCPS::InternalDataReader< DCPS::NetworkInterfaceAddress > > | reader_ |
bool | reader_added_ |
size_t | remote_peer_reflexive_counter_ |
EndpointManagerMapType | endpoint_managers_ |
std::priority_queue< Item > | tasks_ |
DCPS::MonotonicTimePoint | last_execute_ |
Definition at line 35 of file AgentImpl.h.
|
private |
Definition at line 112 of file AgentImpl.h.
OpenDDS::ICE::AgentImpl::AgentImpl | ( | ) |
Definition at line 90 of file AgentImpl.cpp.
References OpenDDS::DCPS::rchandle_from(), and TheServiceParticipant.
|
inline |
Definition at line 91 of file AgentImpl.h.
References active_foundations_, OpenDDS::ICE::ActiveFoundationSet::add(), and unfreeze().
Referenced by OpenDDS::ICE::Checklist::add_triggered_check(), and OpenDDS::ICE::Checklist::unfreeze().
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 102 of file AgentImpl.cpp.
References ACE_GUARD, check_invariants(), endpoint_managers_, mutex, reader_, reader_added_, and TheServiceParticipant.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 149 of file AgentImpl.cpp.
References ACE_GUARD, endpoint_managers_, mutex, and OPENDDS_ASSERT.
|
private |
Definition at line 239 of file AgentImpl.cpp.
References active_foundations_, endpoint_managers_, and OPENDDS_ASSERT.
Referenced by add_endpoint(), receive(), remove_endpoint(), start_ice(), and stop_ice().
|
inline |
Definition at line 86 of file AgentImpl.h.
References active_foundations_, and OpenDDS::ICE::ActiveFoundationSet::contains().
Referenced by OpenDDS::ICE::Checklist::unfreeze().
void OpenDDS::ICE::AgentImpl::enqueue | ( | const DCPS::MonotonicTimePoint & | a_release_time, |
WeakTaskPtr | a_task | ||
) |
Definition at line 42 of file AgentImpl.cpp.
References OpenDDS::ICE::Configuration::instance(), OpenDDS::DCPS::ReactorInterceptor::Command::reactor(), and release().
Referenced by OpenDDS::ICE::Task::enqueue().
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 193 of file AgentImpl.cpp.
References ACE_GUARD_RETURN, endpoint_managers_, mutex, and OPENDDS_ASSERT.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 141 of file AgentImpl.cpp.
References ACE_GUARD_RETURN, endpoint_managers_, mutex, and OPENDDS_ASSERT.
|
privatevirtual |
Reimplemented from ACE_Event_Handler.
Definition at line 57 of file AgentImpl.cpp.
References ACE_GUARD_RETURN, OpenDDS::ICE::Configuration::instance(), OpenDDS::DCPS::WeakRcHandle< T >::lock(), OpenDDS::DCPS::ReactorInterceptor::Command::reactor(), release(), OpenDDS::ICE::AgentImpl::Item::task_, and TheServiceParticipant.
|
virtual |
Implements OpenDDS::DCPS::ShutdownListener.
Definition at line 257 of file AgentImpl.cpp.
References shutdown().
|
private |
Definition at line 262 of file AgentImpl.cpp.
References ACE_GUARD, DDS::ANY_INSTANCE_STATE, DDS::ANY_SAMPLE_STATE, DDS::ANY_VIEW_STATE, endpoint_managers_, DDS::LENGTH_UNLIMITED, mutex, and reader_.
|
private |
Definition at line 276 of file AgentImpl.cpp.
References endpoint_managers_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, to_unfreeze_, and unfreeze_.
Referenced by receive().
|
privatevirtual |
Implements OpenDDS::DCPS::ReactorInterceptor.
Definition at line 52 of file AgentImpl.cpp.
References TheServiceParticipant.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 204 of file AgentImpl.cpp.
References ACE_ERROR, ACE_GUARD, ACE_TEXT(), check_invariants(), endpoint_managers_, ACE_INET_Addr::is_any(), LM_ERROR, mutex, OPENDDS_ASSERT, and process_deferred().
|
inline |
Definition at line 81 of file AgentImpl.h.
References remote_peer_reflexive_counter_.
Referenced by OpenDDS::ICE::Checklist::generate_triggered_check().
void OpenDDS::ICE::AgentImpl::remove | ( | const FoundationType & | a_foundation | ) |
Definition at line 228 of file AgentImpl.cpp.
References active_foundations_, OpenDDS::ICE::ActiveFoundationSet::remove(), and unfreeze_.
Referenced by OpenDDS::ICE::Checklist::fix_foundations(), OpenDDS::ICE::Checklist::remove_from_in_progress(), and OpenDDS::ICE::Checklist::succeeded().
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 120 of file AgentImpl.cpp.
References ACE_GUARD, check_invariants(), endpoint_managers_, mutex, reader_, reader_added_, and TheServiceParticipant.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 159 of file AgentImpl.cpp.
References ACE_GUARD, endpoint_managers_, mutex, and OPENDDS_ASSERT.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 252 of file AgentImpl.cpp.
References ACE_Reactor::cancel_timer(), and OpenDDS::DCPS::ReactorInterceptor::reactor().
Referenced by notify_shutdown().
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 168 of file AgentImpl.cpp.
References ACE_GUARD, check_invariants(), endpoint_managers_, mutex, and OPENDDS_ASSERT.
|
virtual |
Implements OpenDDS::ICE::Agent.
Definition at line 181 of file AgentImpl.cpp.
References ACE_GUARD, check_invariants(), endpoint_managers_, mutex, and OPENDDS_ASSERT.
void OpenDDS::ICE::AgentImpl::unfreeze | ( | const FoundationType & | a_foundation | ) |
Definition at line 234 of file AgentImpl.cpp.
References to_unfreeze_.
Referenced by add(), and OpenDDS::ICE::Checklist::succeeded().
|
private |
Definition at line 106 of file AgentImpl.h.
Referenced by add(), check_invariants(), contains(), and remove().
|
private |
Definition at line 113 of file AgentImpl.h.
Referenced by add_endpoint(), add_local_agent_info_listener(), check_invariants(), get_address(), get_local_agent_info(), on_data_available(), process_deferred(), receive(), remove_endpoint(), remove_local_agent_info_listener(), start_ice(), and stop_ice().
|
private |
Definition at line 128 of file AgentImpl.h.
|
mutable |
Definition at line 100 of file AgentImpl.h.
Referenced by add_endpoint(), add_local_agent_info_listener(), get_address(), get_local_agent_info(), on_data_available(), receive(), OpenDDS::ICE::EndpointManager::regenerate_agent_info(), remove_endpoint(), remove_local_agent_info_listener(), start_ice(), and stop_ice().
|
private |
Definition at line 109 of file AgentImpl.h.
Referenced by add_endpoint(), on_data_available(), and remove_endpoint().
|
private |
Definition at line 110 of file AgentImpl.h.
Referenced by add_endpoint(), and remove_endpoint().
|
private |
Definition at line 111 of file AgentImpl.h.
Referenced by remote_peer_reflexive_counter().
|
private |
Definition at line 127 of file AgentImpl.h.
|
private |
Definition at line 107 of file AgentImpl.h.
Referenced by process_deferred(), and unfreeze().
|
private |
Definition at line 108 of file AgentImpl.h.
Referenced by process_deferred(), and remove().