8 #ifdef OPENDDS_SECURITY 9 #ifndef OPENDDS_DCPS_RTPS_ICE_ENDPOINTMANAGER_H 10 #define OPENDDS_DCPS_RTPS_ICE_ENDPOINTMANAGER_H 12 #if !defined (ACE_LACKS_PRAGMA_ONCE) 40 ACE_UINT32 a_priority,
43 : local_address(a_local_address)
44 , remote_address(a_remote_address)
45 , priority(a_priority)
46 , use_candidate(a_use_candidate)
47 , expiration_date(a_expiration_date)
71 agent_info_listeners_[a_local_guid] = a_agent_info_listener;
76 agent_info_listeners_.erase(a_local_guid);
95 OPENDDS_ASSERT(!transaction_id_to_checklist_.count(a_transaction_id));
96 transaction_id_to_checklist_[a_transaction_id] = a_checklist;
101 TransactionIdToChecklistType::iterator pos = transaction_id_to_checklist_.find(a_transaction_id);
104 ACE_UNUSED_ARG(a_checklist);
105 transaction_id_to_checklist_.erase(pos);
111 guid_pair_to_checklist_[a_guid_pair] = a_checklist;
116 GuidPairToChecklistType::iterator pos = guid_pair_to_checklist_.find(a_guid_pair);
119 ACE_UNUSED_ARG(a_checklist);
120 guid_pair_to_checklist_.erase(pos);
126 username_to_checklist_[a_username] = a_checklist;
131 UsernameToChecklistType::iterator pos = username_to_checklist_.find(a_username);
134 ACE_UNUSED_ARG(a_checklist);
135 username_to_checklist_.erase(pos);
144 void check_invariants()
const;
150 e->ice_connect(guids, addr);
158 e->ice_disconnect(guids, addr);
162 void network_change();
201 void change_username();
203 void change_password(
bool password_only);
205 void set_host_addresses(
const AddressListType& a_host_addresses);
207 void set_server_reflexive_address(
const ACE_INET_Addr& a_server_reflexive_address,
210 void regenerate_agent_info(
bool password_only);
222 const std::vector<STUN::AttributeType>& a_unknown_attributes);
225 const std::string& a_reason);
DCPS::RcHandle< EndpointManager > EndpointManagerPtr
std::set< std::string > FoundationSet
GuidPairToChecklistType guid_pair_to_checklist_
DCPS::RcHandle< ServerReflexiveTask > server_reflexive_task_
void ice_disconnect(const GuidSetType &guids, const ACE_INET_Addr &addr)
std::pair< std::string, std::string > FoundationType
#define OPENDDS_ASSERT(C)
DCPS::WeakRcHandle< Endpoint > const endpoint
TransactionIdToChecklistType transaction_id_to_checklist_
ssize_t send(ACE_HANDLE handle, const void *buf, size_t len, int flags, const ACE_Time_Value *timeout=0)
void ice_connect(const GuidSetType &guids, const ACE_INET_Addr &addr)
FoundationSet foundations_
void set_responsible_checklist(const std::string &a_username, ChecklistPtr a_checklist)
ACE_INET_Addr local_address
void set_responsible_checklist(const GuidPair &a_guid_pair, ChecklistPtr a_checklist)
std::map< std::string, ChecklistPtr > UsernameToChecklistType
void remove_agent_info_listener(const DCPS::GUID_t &a_local_guid)
AgentImpl *const agent_impl
void unset_responsible_checklist(const std::string &a_username, ChecklistPtr a_checklist)
const AgentInfo & agent_info() const
DCPS::WeakRcHandle< EndpointManager > endpoint_manager
AgentInfoListenersType agent_info_listeners_
DCPS::RcHandle< ChangePasswordTask > change_password_task_
AddressListType host_addresses_
std::map< GuidPair, ChecklistPtr > GuidPairToChecklistType
ACE_INET_Addr next_stun_server_address_
unsigned long long ACE_UINT64
ACE_INET_Addr stun_server_address_
DeferredTriggeredChecksType deferred_triggered_checks_
ACE_INET_Addr remote_address
void add_agent_info_listener(const DCPS::GUID_t &a_local_guid, DCPS::WeakRcHandle< AgentInfoListener > a_agent_info_listener)
DeferredTriggeredCheck(const ACE_INET_Addr &a_local_address, const ACE_INET_Addr &a_remote_address, ACE_UINT32 a_priority, bool a_use_candidate, const DCPS::MonotonicTimePoint &a_expiration_date)
UsernameToChecklistType username_to_checklist_
DCPS::WeakRcHandle< EndpointManager > endpoint_manager
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
void unset_responsible_checklist(const GuidPair &a_guid_pair, ChecklistPtr a_checklist)
const FoundationSet & foundations() const
STUN::Message binding_request_
DCPS::MonotonicTimePoint expiration_date
RcHandle< T > lock() const
std::map< std::string, DeferredTriggeredCheckListType > DeferredTriggeredChecksType
ACE_INET_Addr server_reflexive_address_
The Internal API and Implementation of OpenDDS.
void unset_responsible_checklist(const STUN::TransactionId &a_transaction_id, ChecklistPtr a_checklist)
std::deque< DeferredTriggeredCheck > DeferredTriggeredCheckListType
std::map< DCPS::GUID_t, DCPS::WeakRcHandle< AgentInfoListener >, DCPS::GUID_tKeyLessThan > AgentInfoListenersType
void set_responsible_checklist(const STUN::TransactionId &a_transaction_id, ChecklistPtr a_checklist)
std::map< STUN::TransactionId, ChecklistPtr > TransactionIdToChecklistType
std::set< GuidPair > GuidSetType
ACE_UINT64 ice_tie_breaker_