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

#include <Checklist.h>

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

Public Member Functions

 CandidatePair (const Candidate &a_local, const Candidate &a_remote, bool a_local_is_controlling, bool a_use_candidate=false)
 
bool operator== (const CandidatePair &a_other) const
 

Static Public Member Functions

static bool priority_sorted (const CandidatePair &x, const CandidatePair &y)
 

Public Attributes

Candidate const local
 
Candidate const remote
 
FoundationType const foundation
 
bool const local_is_controlling
 
ACE_UINT64 const priority
 
bool const use_candidate
 

Private Member Functions

ACE_UINT64 compute_priority ()
 

Detailed Description

Definition at line 73 of file Checklist.h.

Constructor & Destructor Documentation

◆ CandidatePair()

OpenDDS::ICE::CandidatePair::CandidatePair ( const Candidate a_local,
const Candidate a_remote,
bool  a_local_is_controlling,
bool  a_use_candidate = false 
)

Definition at line 27 of file Checklist.cpp.

References OpenDDS::ICE::Candidate::foundation, and OPENDDS_ASSERT.

31  : local(a_local),
32  remote(a_remote),
33  foundation(std::make_pair(a_local.foundation, a_remote.foundation)),
34  local_is_controlling(a_local_is_controlling),
36  use_candidate(a_use_candidate)
37 {
38  OPENDDS_ASSERT(!a_local.foundation.empty());
39  OPENDDS_ASSERT(!a_remote.foundation.empty());
40 }
Candidate const local
Definition: Checklist.h:74
ACE_UINT64 compute_priority()
Definition: Checklist.cpp:50
#define OPENDDS_ASSERT(C)
Definition: Definitions.h:72
Candidate const remote
Definition: Checklist.h:75
bool const local_is_controlling
Definition: Checklist.h:77
FoundationType const foundation
Definition: Checklist.h:76
ACE_UINT64 const priority
Definition: Checklist.h:78

Member Function Documentation

◆ compute_priority()

ACE_UINT64 OpenDDS::ICE::CandidatePair::compute_priority ( )
private

Definition at line 50 of file Checklist.cpp.

References local, local_is_controlling, OpenDDS::ICE::Candidate::priority, and remote.

51 {
54  return (std::min(g,d) << 32) + 2 * std::max(g,d) + (g > d ? 1 : 0);
55 }
Candidate const local
Definition: Checklist.h:74
Candidate const remote
Definition: Checklist.h:75
bool const local_is_controlling
Definition: Checklist.h:77
unsigned long long ACE_UINT64
ACE_UINT32 priority
Definition: Ice.h:50

◆ operator==()

bool OpenDDS::ICE::CandidatePair::operator== ( const CandidatePair a_other) const

Definition at line 42 of file Checklist.cpp.

References local, remote, and use_candidate.

43 {
44  return
45  this->local == other.local &&
46  this->remote == other.remote &&
47  this->use_candidate == other.use_candidate;
48 }
Candidate const local
Definition: Checklist.h:74
Candidate const remote
Definition: Checklist.h:75

◆ priority_sorted()

static bool OpenDDS::ICE::CandidatePair::priority_sorted ( const CandidatePair x,
const CandidatePair y 
)
inlinestatic

Member Data Documentation

◆ foundation

FoundationType const OpenDDS::ICE::CandidatePair::foundation

◆ local

Candidate const OpenDDS::ICE::CandidatePair::local

◆ local_is_controlling

bool const OpenDDS::ICE::CandidatePair::local_is_controlling

◆ priority

ACE_UINT64 const OpenDDS::ICE::CandidatePair::priority

Definition at line 78 of file Checklist.h.

Referenced by priority_sorted().

◆ remote

Candidate const OpenDDS::ICE::CandidatePair::remote

◆ use_candidate

bool const OpenDDS::ICE::CandidatePair::use_candidate

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