OpenDDS  Snapshot(2023/04/28-20:55)
Classes | Namespaces | Enumerations | Functions | Variables
Stun.h File Reference
#include "ace/INET_Addr.h"
#include "dds/DCPS/Serializer.h"
#include "dds/DCPS/GuidUtils.h"
#include "dds/DCPS/RTPS/rtps_export.h"
#include <cstring>
#include <map>
#include <string>
#include <vector>
Include dependency graph for Stun.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenDDS::STUN::Attribute
 
struct  OpenDDS::STUN::Attribute::Err
 
struct  OpenDDS::STUN::TransactionId
 
struct  OpenDDS::STUN::AttributeHolder
 
struct  OpenDDS::STUN::ConstAttributeHolder
 
struct  OpenDDS::STUN::Message
 
class  OpenDDS::STUN::Sender
 
class  OpenDDS::STUN::Participant
 

Namespaces

 OpenDDS
 The Internal API and Implementation of OpenDDS.
 
 OpenDDS::STUN
 

Enumerations

enum  OpenDDS::STUN::Class { OpenDDS::STUN::REQUEST = 0, OpenDDS::STUN::INDICATION = 1, OpenDDS::STUN::SUCCESS_RESPONSE = 2, OpenDDS::STUN::ERROR_RESPONSE = 3 }
 
enum  OpenDDS::STUN::Method { OpenDDS::STUN::BINDING = 0x001 }
 
enum  OpenDDS::STUN::Family { OpenDDS::STUN::IPv4 = 0x01, OpenDDS::STUN::IPv6 = 0x02 }
 
enum  OpenDDS::STUN::AttributeType {
  OpenDDS::STUN::MAPPED_ADDRESS = 0x0001, OpenDDS::STUN::USERNAME = 0x0006, OpenDDS::STUN::MESSAGE_INTEGRITY = 0x0008, OpenDDS::STUN::ERROR_CODE = 0x0009,
  OpenDDS::STUN::UNKNOWN_ATTRIBUTES = 0x000A, OpenDDS::STUN::XOR_MAPPED_ADDRESS = 0x0020, OpenDDS::STUN::PRIORITY = 0x0024, OpenDDS::STUN::USE_CANDIDATE = 0x0025,
  OpenDDS::STUN::FINGERPRINT = 0x8028, OpenDDS::STUN::ICE_CONTROLLED = 0x8029, OpenDDS::STUN::ICE_CONTROLLING = 0x802A, OpenDDS::STUN::GUID_PREFIX = 0xD000,
  OpenDDS::STUN::LAST_ATTRIBUTE = 0xFFFF
}
 

Functions

Attribute OpenDDS::STUN::make_mapped_address (const ACE_INET_Addr &addr)
 
Attribute OpenDDS::STUN::make_username (const std::string &username)
 
Attribute OpenDDS::STUN::make_message_integrity ()
 
Attribute OpenDDS::STUN::make_error_code (ACE_UINT16 code, const std::string &reason)
 
Attribute OpenDDS::STUN::make_unknown_attributes (const std::vector< AttributeType > &unknown_attributes)
 
Attribute OpenDDS::STUN::make_xor_mapped_address (const ACE_INET_Addr &addr)
 
Attribute OpenDDS::STUN::make_unknown_attribute (ACE_UINT16 type, ACE_UINT16 length)
 
Attribute OpenDDS::STUN::make_priority (ACE_UINT32 priority)
 
Attribute OpenDDS::STUN::make_use_candidate ()
 
Attribute OpenDDS::STUN::make_fingerprint ()
 
Attribute OpenDDS::STUN::make_ice_controlling (ACE_UINT64 ice_tie_breaker)
 
Attribute OpenDDS::STUN::make_ice_controlled (ACE_UINT64 ice_tie_breaker)
 
OpenDDS_Rtps_Export Attribute OpenDDS::STUN::make_guid_prefix (const DCPS::GuidPrefix_t &guid_prefix)
 
bool OpenDDS::STUN::operator>> (DCPS::Serializer &serializer, AttributeHolder &holder)
 
bool OpenDDS::STUN::operator<< (DCPS::Serializer &serializer, ConstAttributeHolder &holder)
 
bool OpenDDS::STUN::operator>> (DCPS::Serializer &serializer, Message &message)
 
bool OpenDDS::STUN::operator<< (DCPS::Serializer &serializer, const Message &message)
 
const DCPS::Encoding OpenDDS::STUN::encoding (DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
 

Variables

const ACE_UINT32 OpenDDS::STUN::MAGIC_COOKIE = 0x2112A442
 
const size_t OpenDDS::STUN::HEADER_SIZE = 20
 
const ACE_UINT16 OpenDDS::STUN::BAD_REQUEST = 400
 
const ACE_UINT16 OpenDDS::STUN::UNAUTHORIZED = 401
 
const ACE_UINT16 OpenDDS::STUN::UNKNOWN_ATTRIBUTE = 420