MySQL 8.3.0
Source Code Documentation
EventBuffer Class Reference

Enables bufforing of I/O for a socket. More...

#include <http_common.h>

Classes

struct  impl
 

Public Types

enum class  SslState { Open = 0 , Connecting = 1 , Accepting = 2 }
 
using SocketHandle = EventBaseSocket
 

Public Member Functions

 EventBuffer (EventBase *, const SocketHandle socket, TlsContext *tls_context, const SslState state, const EventBufferOptionsFlags::Bitset &options)
 Initialize the buffer, with OpenSSL processing. More...
 
 EventBuffer (EventBuffer &&)
 
 ~EventBuffer ()
 

Private Attributes

std::unique_ptr< implpImpl_
 

Friends

class EventHttp
 

Detailed Description

Enables bufforing of I/O for a socket.

Wrapper for bufferevent structure from libevent. Additionally this class allows custom processing, like SSL.

Notice: For now the functionality is limited to minimum.

Member Typedef Documentation

◆ SocketHandle

Member Enumeration Documentation

◆ SslState

enum class EventBuffer::SslState
strong
Enumerator
Open 
Connecting 
Accepting 

Constructor & Destructor Documentation

◆ EventBuffer() [1/2]

EventBuffer::EventBuffer ( EventBase base,
const SocketHandle  socket,
TlsContext tls_context,
const SslState  state,
const EventBufferOptionsFlags::Bitset options 
)

Initialize the buffer, with OpenSSL processing.

This c-tor, creates new SSL-connection from TlsContext, which means that state can only be set to SslState::Connecting or SslState::Accepting.

◆ EventBuffer() [2/2]

EventBuffer::EventBuffer ( EventBuffer &&  other)

◆ ~EventBuffer()

EventBuffer::~EventBuffer ( )

Friends And Related Function Documentation

◆ EventHttp

friend class EventHttp
friend

Member Data Documentation

◆ pImpl_

std::unique_ptr<impl> EventBuffer::pImpl_
private

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