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

#include <ringbuffer.hpp>

Inheritance diagram for openvpn::TunWin::RingBuffer:
[legend]
Collaboration diagram for openvpn::TunWin::RingBuffer:
[legend]

Public Types

typedef RCPtr< RingBufferPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 RingBuffer (openvpn_io::io_context &io_context)
 
 RingBuffer (openvpn_io::io_context &io_context, HANDLE client_process, const std::string &send_ring_hmem_hex, const std::string &receive_ring_hmem_hex, const std::string &send_ring_tail_moved_hex, const std::string &receive_ring_tail_moved_hex)
 
 RingBuffer (RingBuffer const &)=delete
 
RingBufferoperator= (RingBuffer const &)=delete
 
 ~RingBuffer ()
 
HANDLE send_ring_tail_moved ()
 
HANDLE receive_ring_tail_moved ()
 
TUN_RINGsend_ring ()
 
TUN_RINGreceive_ring ()
 
AsioEventsend_tail_moved_asio_event ()
 
void serialize (Json::Value &json)
 
- 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.
 

Protected Attributes

Win::ScopedHANDLE send_ring_hmem
 
Win::ScopedHANDLE receive_ring_hmem
 
Win::Event send_ring_tail_moved_ {FALSE}
 
Win::Event receive_ring_tail_moved_ {FALSE}
 
AsioEvent send_tail_moved_asio_event_
 
TUN_RINGsend_ring_ = nullptr
 
TUN_RINGreceive_ring_ = nullptr
 

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 55 of file ringbuffer.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 58 of file ringbuffer.hpp.

Constructor & Destructor Documentation

◆ RingBuffer() [1/3]

openvpn::TunWin::RingBuffer::RingBuffer ( openvpn_io::io_context &  io_context)
inline

Definition at line 60 of file ringbuffer.hpp.

◆ RingBuffer() [2/3]

openvpn::TunWin::RingBuffer::RingBuffer ( openvpn_io::io_context &  io_context,
HANDLE  client_process,
const std::string &  send_ring_hmem_hex,
const std::string &  receive_ring_hmem_hex,
const std::string &  send_ring_tail_moved_hex,
const std::string &  receive_ring_tail_moved_hex 
)
inline

Definition at line 85 of file ringbuffer.hpp.

◆ RingBuffer() [3/3]

openvpn::TunWin::RingBuffer::RingBuffer ( RingBuffer const &  )
delete

◆ ~RingBuffer()

openvpn::TunWin::RingBuffer::~RingBuffer ( )
inline

Definition at line 117 of file ringbuffer.hpp.

Member Function Documentation

◆ operator=()

RingBuffer & openvpn::TunWin::RingBuffer::operator= ( RingBuffer const &  )
delete

◆ receive_ring()

TUN_RING * openvpn::TunWin::RingBuffer::receive_ring ( )
inline

Definition at line 138 of file ringbuffer.hpp.

◆ receive_ring_tail_moved()

HANDLE openvpn::TunWin::RingBuffer::receive_ring_tail_moved ( )
inline

Definition at line 128 of file ringbuffer.hpp.

Here is the caller graph for this function:

◆ send_ring()

TUN_RING * openvpn::TunWin::RingBuffer::send_ring ( )
inline

Definition at line 133 of file ringbuffer.hpp.

◆ send_ring_tail_moved()

HANDLE openvpn::TunWin::RingBuffer::send_ring_tail_moved ( )
inline

Definition at line 123 of file ringbuffer.hpp.

Here is the caller graph for this function:

◆ send_tail_moved_asio_event()

AsioEvent & openvpn::TunWin::RingBuffer::send_tail_moved_asio_event ( )
inline

Definition at line 143 of file ringbuffer.hpp.

◆ serialize()

void openvpn::TunWin::RingBuffer::serialize ( Json::Value &  json)
inline

Definition at line 149 of file ringbuffer.hpp.

Member Data Documentation

◆ receive_ring_

TUN_RING* openvpn::TunWin::RingBuffer::receive_ring_ = nullptr
protected

Definition at line 166 of file ringbuffer.hpp.

◆ receive_ring_hmem

Win::ScopedHANDLE openvpn::TunWin::RingBuffer::receive_ring_hmem
protected

Definition at line 160 of file ringbuffer.hpp.

◆ receive_ring_tail_moved_

Win::Event openvpn::TunWin::RingBuffer::receive_ring_tail_moved_ {FALSE}
protected

Definition at line 162 of file ringbuffer.hpp.

◆ send_ring_

TUN_RING* openvpn::TunWin::RingBuffer::send_ring_ = nullptr
protected

Definition at line 165 of file ringbuffer.hpp.

◆ send_ring_hmem

Win::ScopedHANDLE openvpn::TunWin::RingBuffer::send_ring_hmem
protected

Definition at line 159 of file ringbuffer.hpp.

◆ send_ring_tail_moved_

Win::Event openvpn::TunWin::RingBuffer::send_ring_tail_moved_ {FALSE}
protected

Definition at line 161 of file ringbuffer.hpp.

◆ send_tail_moved_asio_event_

AsioEvent openvpn::TunWin::RingBuffer::send_tail_moved_asio_event_
protected

Definition at line 163 of file ringbuffer.hpp.


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