OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::Frame Class Reference

#include <frame.hpp>

Inheritance diagram for openvpn::Frame:
[legend]
Collaboration diagram for openvpn::Frame:
[legend]

Classes

class  Context
 

Public Types

enum  {
  ENCRYPT_WORK = 0 , DECRYPT_WORK , COMPRESS_WORK , DECOMPRESS_WORK ,
  READ_LINK_UDP , READ_LINK_TCP , READ_TUN , READ_BIO_MEMQ_DGRAM ,
  READ_BIO_MEMQ_STREAM , READ_SSL_CLEARTEXT , WRITE_SSL_INIT , WRITE_SSL_CLEARTEXT ,
  WRITE_ACK_STANDALONE , WRITE_DC_MSG , WRITE_HTTP , READ_HTTP ,
  N_ALIGN_CONTEXTS
}
 
typedef RCPtr< FramePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 OPENVPN_SIMPLE_EXCEPTION (frame_context_index)
 
 Frame ()
 
 Frame (const Context &c)
 
void set_default_context (const Context &c)
 
size_t prepare (const unsigned int context, Buffer &buf) const
 
BufferPtr prepare (const unsigned int context) const
 
size_t n_contexts () const
 
Contextoperator[] (const size_t i)
 
const Contextoperator[] (const size_t i) const
 
void standardize_capacity (const unsigned int context_mask)
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Attributes

Context contexts [N_ALIGN_CONTEXTS]
 

Additional Inherited Members

- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Detailed Description

Definition at line 25 of file frame.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 28 of file frame.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ENCRYPT_WORK 
DECRYPT_WORK 
COMPRESS_WORK 
DECOMPRESS_WORK 
READ_LINK_UDP 
READ_LINK_TCP 
READ_TUN 
READ_BIO_MEMQ_DGRAM 
READ_BIO_MEMQ_STREAM 
READ_SSL_CLEARTEXT 
WRITE_SSL_INIT 
WRITE_SSL_CLEARTEXT 
WRITE_ACK_STANDALONE 
WRITE_DC_MSG 
WRITE_HTTP 
READ_HTTP 
N_ALIGN_CONTEXTS 

Definition at line 31 of file frame.hpp.

Constructor & Destructor Documentation

◆ Frame() [1/2]

openvpn::Frame::Frame ( )
inline

Definition at line 247 of file frame.hpp.

◆ Frame() [2/2]

openvpn::Frame::Frame ( const Context c)
inlineexplicit

Definition at line 251 of file frame.hpp.

Member Function Documentation

◆ n_contexts()

size_t openvpn::Frame::n_contexts ( ) const
inline

Definition at line 278 of file frame.hpp.

◆ OPENVPN_SIMPLE_EXCEPTION()

openvpn::Frame::OPENVPN_SIMPLE_EXCEPTION ( frame_context_index  )

◆ operator[]() [1/2]

Context & openvpn::Frame::operator[] ( const size_t  i)
inline

Definition at line 283 of file frame.hpp.

◆ operator[]() [2/2]

const Context & openvpn::Frame::operator[] ( const size_t  i) const
inline

Definition at line 290 of file frame.hpp.

◆ prepare() [1/2]

BufferPtr openvpn::Frame::prepare ( const unsigned int  context) const
inline

Definition at line 271 of file frame.hpp.

◆ prepare() [2/2]

size_t openvpn::Frame::prepare ( const unsigned int  context,
Buffer buf 
) const
inline

Definition at line 266 of file frame.hpp.

Here is the caller graph for this function:

◆ set_default_context()

void openvpn::Frame::set_default_context ( const Context c)
inline

Definition at line 257 of file frame.hpp.

Here is the caller graph for this function:

◆ standardize_capacity()

void openvpn::Frame::standardize_capacity ( const unsigned int  context_mask)
inline

Definition at line 297 of file frame.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ contexts

Context openvpn::Frame::contexts[N_ALIGN_CONTEXTS]
private

Definition at line 326 of file frame.hpp.


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