MySQL 8.4.0
Source Code Documentation
net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action > Class Template Reference

#include <ssl_io_completion.h>

Public Types

using Token_result = std::decay_t< Token >
 
using Token_handler = std::conditional_t< std::is_same< Token, Token_result >::value, Token_result &, Token_result >
 

Public Member Functions

template<typename UniToken >
 SslIoCompletionToken (TlsLayer &tls_layer, const BufferSequence &buffer, UniToken &&token, Action action=Action())
 
 SslIoCompletionToken (SslIoCompletionToken &&other)
 
 SslIoCompletionToken (const SslIoCompletionToken &other)
 
Operation::Result handle_read (std::error_code ec, size_t size)
 
Operation::Result handle_write (std::error_code ec, size_t size)
 
Operation::Result do_it ()
 
template<typename HandlerToken >
LowerLayerWriteCompletionToken< HandlerToken > get_write_handler (HandlerToken &&token)
 
template<typename HandlerToken >
LowerLayerReadCompletionToken< HandlerToken, NOP_tokenget_read_handler (HandlerToken &&token)
 
void do_token (const std::error_code &ec, const size_t no_of_bytes)
 
int bio_read_ex (size_t *out_readbytes)
 
int bio_write_ex (size_t *out_written)
 
Operation::Result do_write ()
 
Operation::Result do_read ()
 

Static Public Member Functions

template<typename Type >
static const Type * cast_and_increment (const void *ptr, int value)
 
template<typename Type >
static Type * cast_and_increment (void *ptr, int value)
 

Public Attributes

size_t number_bytes_transfered_ {0}
 
TlsLayer & tls_layer_
 
FlexibleOutputBufferoutput_
 
FlexibleInputBufferinput_
 
const BufferSequence buffer_
 
Token token_
 
Action action_
 

Member Typedef Documentation

◆ Token_handler

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
using net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::Token_handler = std::conditional_t<std::is_same<Token, Token_result>::value, Token_result &, Token_result>

◆ Token_result

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
using net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::Token_result = std::decay_t<Token>

Constructor & Destructor Documentation

◆ SslIoCompletionToken() [1/3]

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
template<typename UniToken >
net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::SslIoCompletionToken ( TlsLayer &  tls_layer,
const BufferSequence &  buffer,
UniToken &&  token,
Action  action = Action() 
)
inline

◆ SslIoCompletionToken() [2/3]

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::SslIoCompletionToken ( SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action > &&  other)
inline

◆ SslIoCompletionToken() [3/3]

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::SslIoCompletionToken ( const SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action > &  other)
inline

Member Function Documentation

◆ bio_read_ex()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
int net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::bio_read_ex ( size_t *  out_readbytes)
inline

◆ bio_write_ex()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
int net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::bio_write_ex ( size_t *  out_written)
inline

◆ cast_and_increment() [1/2]

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
template<typename Type >
static const Type * net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::cast_and_increment ( const void *  ptr,
int  value 
)
inlinestatic

◆ cast_and_increment() [2/2]

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
template<typename Type >
static Type * net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::cast_and_increment ( void *  ptr,
int  value 
)
inlinestatic

◆ do_it()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Operation::Result net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::do_it ( )
inline

◆ do_read()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Operation::Result net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::do_read ( )
inline

◆ do_token()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
void net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::do_token ( const std::error_code &  ec,
const size_t  no_of_bytes 
)
inline

◆ do_write()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Operation::Result net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::do_write ( )
inline

◆ get_read_handler()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
template<typename HandlerToken >
LowerLayerReadCompletionToken< HandlerToken, NOP_token > net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::get_read_handler ( HandlerToken &&  token)
inline

◆ get_write_handler()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
template<typename HandlerToken >
LowerLayerWriteCompletionToken< HandlerToken > net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::get_write_handler ( HandlerToken &&  token)
inline

◆ handle_read()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Operation::Result net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::handle_read ( std::error_code  ec,
size_t  size 
)
inline

◆ handle_write()

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Operation::Result net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::handle_write ( std::error_code  ec,
size_t  size 
)
inline

Member Data Documentation

◆ action_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Action net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::action_

◆ buffer_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
const BufferSequence net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::buffer_

◆ input_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
FlexibleInputBuffer& net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::input_

◆ number_bytes_transfered_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
size_t net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::number_bytes_transfered_ {0}

◆ output_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
FlexibleOutputBuffer& net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::output_

◆ tls_layer_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
TlsLayer& net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::tls_layer_

◆ token_

template<typename SslIO , typename BufferSequence , typename Token , typename TlsLayer , typename Action = AsyncAction>
Token net::tls::SslIoCompletionToken< SslIO, BufferSequence, Token, TlsLayer, Action >::token_

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