OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Private Attributes | List of all members
OpenDDS::ICE::ConnectivityCheck Struct Reference

#include <Checklist.h>

Collaboration diagram for OpenDDS::ICE::ConnectivityCheck:
Collaboration graph
[legend]

Public Member Functions

 ConnectivityCheck (const CandidatePair &a_candidate_pair, const AgentInfo &a_local_agent_info, const AgentInfo &a_remote_agent_info, ACE_UINT64 a_ice_tie_breaker, const DCPS::MonotonicTimePoint &a_expiration_date)
 
const CandidatePaircandidate_pair () const
 
const STUN::Messagerequest () const
 
void cancel ()
 
bool cancelled () const
 
DCPS::MonotonicTimePoint expiration_date () const
 
void password (const std::string &a_password)
 

Private Attributes

CandidatePair candidate_pair_
 
STUN::Message request_
 
bool cancelled_
 
DCPS::MonotonicTimePoint expiration_date_
 

Detailed Description

Definition at line 99 of file Checklist.h.

Constructor & Destructor Documentation

◆ ConnectivityCheck()

OpenDDS::ICE::ConnectivityCheck::ConnectivityCheck ( const CandidatePair a_candidate_pair,
const AgentInfo a_local_agent_info,
const AgentInfo a_remote_agent_info,
ACE_UINT64  a_ice_tie_breaker,
const DCPS::MonotonicTimePoint a_expiration_date 
)

Definition at line 57 of file Checklist.cpp.

References OpenDDS::ICE::Candidate::address, OpenDDS::STUN::Message::append_attribute(), OpenDDS::STUN::BINDING, OpenDDS::STUN::Message::class_, OpenDDS::STUN::Message::generate_transaction_id(), OpenDDS::ICE::CandidatePair::local, OpenDDS::ICE::CandidatePair::local_is_controlling, OpenDDS::ICE::local_priority(), OpenDDS::STUN::make_fingerprint(), OpenDDS::STUN::make_ice_controlled(), OpenDDS::STUN::make_ice_controlling(), OpenDDS::STUN::make_message_integrity(), OpenDDS::STUN::make_priority(), OpenDDS::STUN::make_use_candidate(), OpenDDS::STUN::make_username(), OpenDDS::STUN::Message::method, OpenDDS::ICE::AgentInfo::password, OpenDDS::STUN::Message::password, OpenDDS::STUN::REQUEST, request_, OpenDDS::ICE::CandidatePair::use_candidate, and OpenDDS::ICE::AgentInfo::username.

60  : candidate_pair_(a_candidate_pair), cancelled_(false), expiration_date_(a_expiration_date)
61 {
65 
66  // No local preference, component 1.
67  request_.append_attribute(STUN::make_priority((110 << 24) + (local_priority(a_candidate_pair.local.address) << 8) + ((256 - 1) << 0)));
68 
69  if (a_candidate_pair.local_is_controlling) {
71  }
72 
73  else {
75  }
76 
77  if (a_candidate_pair.local_is_controlling && a_candidate_pair.use_candidate) {
79  }
80 
81  request_.append_attribute(STUN::make_username(a_remote_agent_info.username + ":" + a_local_agent_info.username));
82  request_.password = a_remote_agent_info.password;
85 }
Attribute make_ice_controlled(ACE_UINT64 ice_tie_breaker)
Definition: Stun.cpp:154
Attribute make_username(const std::string &username)
Definition: Stun.cpp:84
void generate_transaction_id()
Definition: Stun.cpp:606
Attribute make_use_candidate()
Definition: Stun.cpp:132
ACE_UINT32 local_priority(const ACE_INET_Addr &addr)
Definition: Ice.cpp:56
Attribute make_ice_controlling(ACE_UINT64 ice_tie_breaker)
Definition: Stun.cpp:146
Attribute make_message_integrity()
Definition: Stun.cpp:92
Attribute make_fingerprint()
Definition: Stun.cpp:139
void append_attribute(const Attribute &attribute)
Definition: Stun.h:195
std::string password
Definition: Stun.h:242
DCPS::MonotonicTimePoint expiration_date_
Definition: Checklist.h:132
Attribute make_priority(ACE_UINT32 priority)
Definition: Stun.cpp:124

Member Function Documentation

◆ cancel()

void OpenDDS::ICE::ConnectivityCheck::cancel ( void  )
inline

Definition at line 112 of file Checklist.h.

113  {
114  cancelled_ = true;
115  }

◆ cancelled()

bool OpenDDS::ICE::ConnectivityCheck::cancelled ( ) const
inline

Definition at line 116 of file Checklist.h.

Referenced by OpenDDS::ICE::Checklist::do_next_check(), and OpenDDS::ICE::Checklist::succeeded().

117  {
118  return cancelled_;
119  }

◆ candidate_pair()

const CandidatePair& OpenDDS::ICE::ConnectivityCheck::candidate_pair ( ) const
inline

◆ expiration_date()

DCPS::MonotonicTimePoint OpenDDS::ICE::ConnectivityCheck::expiration_date ( ) const
inline

Definition at line 120 of file Checklist.h.

Referenced by OpenDDS::ICE::Checklist::do_next_check().

121  {
122  return expiration_date_;
123  }
DCPS::MonotonicTimePoint expiration_date_
Definition: Checklist.h:132

◆ password()

void OpenDDS::ICE::ConnectivityCheck::password ( const std::string &  a_password)
inline

Definition at line 124 of file Checklist.h.

Referenced by OpenDDS::ICE::Checklist::do_next_check().

125  {
126  request_.password = a_password;
127  }
std::string password
Definition: Stun.h:242

◆ request()

const STUN::Message& OpenDDS::ICE::ConnectivityCheck::request ( ) const
inline

Definition at line 108 of file Checklist.h.

Referenced by OpenDDS::ICE::Checklist::do_next_check(), OpenDDS::ICE::operator==(), and OpenDDS::ICE::Checklist::succeeded().

109  {
110  return request_;
111  }

Member Data Documentation

◆ cancelled_

bool OpenDDS::ICE::ConnectivityCheck::cancelled_
private

Definition at line 131 of file Checklist.h.

◆ candidate_pair_

CandidatePair OpenDDS::ICE::ConnectivityCheck::candidate_pair_
private

Definition at line 129 of file Checklist.h.

◆ expiration_date_

DCPS::MonotonicTimePoint OpenDDS::ICE::ConnectivityCheck::expiration_date_
private

Definition at line 132 of file Checklist.h.

◆ request_

STUN::Message OpenDDS::ICE::ConnectivityCheck::request_
private

Definition at line 130 of file Checklist.h.

Referenced by ConnectivityCheck().


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