OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::SessionIDType< SIZE > Class Template Reference

#include <sess_id.hpp>

Inheritance diagram for openvpn::SessionIDType< SIZE >:
[legend]

Public Member Functions

 SessionIDType ()
 
 SessionIDType (StrongRandomAPI &rng)
 
 SessionIDType (const std::string &b64)
 
 SessionIDType (const std::uint8_t *bytes)
 
template<size_t S>
 SessionIDType (const SessionIDType< S > &other)
 
template<typename CRYPT >
 SessionIDType (const SessionIDType &other, CRYPT &crypt)
 
bool defined () const
 
std::uint64_t shortform () const
 
template<typename HASH >
void hash (HASH &h) const
 
std::string to_string () const
 
bool operator== (const SessionIDType &other) const
 
bool operator!= (const SessionIDType &other) const
 
bool operator< (const SessionIDType &other) const
 
template<size_t S>
bool eq_weak (const SessionIDType< S > &other) const
 
const std::uint8_t * c_data () const
 
template<typename UNORDERED_MAP >
const SessionIDTypefind_weak (const UNORDERED_MAP &m, const bool conflict) const
 

Static Public Member Functions

static bool is (const std::string &str)
 
static constexpr size_t size ()
 

Private Attributes

union { 
 
   std::uint64_t   dataz [SIZE/sizeof(std::uint64_t)] 
 
   std::uint8_t   data [SIZE] 
 
u 
 

Friends

template<size_t S>
class SessionIDType
 

Detailed Description

template<size_t SIZE>
class openvpn::SessionIDType< SIZE >

Definition at line 32 of file sess_id.hpp.

Constructor & Destructor Documentation

◆ SessionIDType() [1/6]

template<size_t SIZE>
openvpn::SessionIDType< SIZE >::SessionIDType ( )
inline

Definition at line 39 of file sess_id.hpp.

◆ SessionIDType() [2/6]

template<size_t SIZE>
openvpn::SessionIDType< SIZE >::SessionIDType ( StrongRandomAPI rng)
inlineexplicit

Definition at line 48 of file sess_id.hpp.

◆ SessionIDType() [3/6]

template<size_t SIZE>
openvpn::SessionIDType< SIZE >::SessionIDType ( const std::string &  b64)
inlineexplicit

Definition at line 54 of file sess_id.hpp.

◆ SessionIDType() [4/6]

template<size_t SIZE>
openvpn::SessionIDType< SIZE >::SessionIDType ( const std::uint8_t *  bytes)
inlineexplicit

Definition at line 70 of file sess_id.hpp.

◆ SessionIDType() [5/6]

template<size_t SIZE>
template<size_t S>
openvpn::SessionIDType< SIZE >::SessionIDType ( const SessionIDType< S > &  other)
inlineexplicit

Definition at line 79 of file sess_id.hpp.

◆ SessionIDType() [6/6]

template<size_t SIZE>
template<typename CRYPT >
openvpn::SessionIDType< SIZE >::SessionIDType ( const SessionIDType< SIZE > &  other,
CRYPT &  crypt 
)
inlineexplicit

Definition at line 88 of file sess_id.hpp.

Member Function Documentation

◆ c_data()

template<size_t SIZE>
const std::uint8_t * openvpn::SessionIDType< SIZE >::c_data ( ) const
inline

Definition at line 153 of file sess_id.hpp.

◆ defined()

template<size_t SIZE>
bool openvpn::SessionIDType< SIZE >::defined ( ) const
inline

Definition at line 94 of file sess_id.hpp.

Here is the caller graph for this function:

◆ eq_weak()

template<size_t SIZE>
template<size_t S>
bool openvpn::SessionIDType< SIZE >::eq_weak ( const SessionIDType< S > &  other) const
inline

Definition at line 137 of file sess_id.hpp.

Here is the caller graph for this function:

◆ find_weak()

template<size_t SIZE>
template<typename UNORDERED_MAP >
const SessionIDType * openvpn::SessionIDType< SIZE >::find_weak ( const UNORDERED_MAP &  m,
const bool  conflict 
) const
inline

Definition at line 163 of file sess_id.hpp.

Here is the caller graph for this function:

◆ hash()

template<size_t SIZE>
template<typename HASH >
void openvpn::SessionIDType< SIZE >::hash ( HASH &  h) const
inline

Definition at line 109 of file sess_id.hpp.

◆ is()

template<size_t SIZE>
static bool openvpn::SessionIDType< SIZE >::is ( const std::string &  str)
inlinestatic

Definition at line 143 of file sess_id.hpp.

◆ operator!=()

template<size_t SIZE>
bool openvpn::SessionIDType< SIZE >::operator!= ( const SessionIDType< SIZE > &  other) const
inline

Definition at line 125 of file sess_id.hpp.

◆ operator<()

template<size_t SIZE>
bool openvpn::SessionIDType< SIZE >::operator< ( const SessionIDType< SIZE > &  other) const
inline

Definition at line 130 of file sess_id.hpp.

◆ operator==()

template<size_t SIZE>
bool openvpn::SessionIDType< SIZE >::operator== ( const SessionIDType< SIZE > &  other) const
inline

Definition at line 120 of file sess_id.hpp.

Here is the caller graph for this function:

◆ shortform()

template<size_t SIZE>
std::uint64_t openvpn::SessionIDType< SIZE >::shortform ( ) const
inline

Definition at line 103 of file sess_id.hpp.

Here is the caller graph for this function:

◆ size()

template<size_t SIZE>
static constexpr size_t openvpn::SessionIDType< SIZE >::size ( )
inlinestaticconstexpr

Definition at line 148 of file sess_id.hpp.

◆ to_string()

template<size_t SIZE>
std::string openvpn::SessionIDType< SIZE >::to_string ( ) const
inline

Definition at line 115 of file sess_id.hpp.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ SessionIDType

template<size_t SIZE>
template<size_t S>
friend class SessionIDType
friend

Definition at line 36 of file sess_id.hpp.

Member Data Documentation

◆ data

template<size_t SIZE>
std::uint8_t openvpn::SessionIDType< SIZE >::data[SIZE]

Definition at line 178 of file sess_id.hpp.

◆ dataz

template<size_t SIZE>
std::uint64_t openvpn::SessionIDType< SIZE >::dataz[SIZE/sizeof(std::uint64_t)]

Definition at line 177 of file sess_id.hpp.

◆ [union]

union { ... } openvpn::SessionIDType< SIZE >::u

The documentation for this class was generated from the following file: