MySQL 8.0.32
Source Code Documentation
classic_protocol::Codec< message::server::Greeting > Class Reference

codec for server Greeting message. More...

#include <classic_protocol_codec_message.h>

Inheritance diagram for classic_protocol::Codec< message::server::Greeting >:
[legend]

Public Types

using value_type = message::server::Greeting
 
using __base = impl::EncodeBase< Codec< value_type > >
 

Public Member Functions

 Codec (value_type v, capabilities::value_type caps)
 
- Public Member Functions inherited from classic_protocol::impl::EncodeBase< Codec< message::server::Greeting > >
constexpr EncodeBase (capabilities::value_type caps)
 
constexpr size_t size () const noexcept
 
stdx::expected< size_t, std::error_code > encode (const net::mutable_buffer &buffer) const
 
constexpr capabilities::value_type caps () const noexcept
 

Static Public Member Functions

template<class ConstBufferSequence >
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode (const ConstBufferSequence &buffers, capabilities::value_type caps)
 

Public Attributes

friend __base
 

Private Member Functions

template<class Accumulator >
auto accumulate_fields (Accumulator &&accu) const
 

Private Attributes

const value_type v_
 

Detailed Description

codec for server Greeting message.

3.21 (protocol_version 9)

FixedInt<1>     protocol_version [0x09]
NulTermString   server_version
FixedInt<4>     connection_id
NulTermString   auth-method-data

3.21 and later (protocol_version 10)

FixedInt<1>     protocol_version [0x0a]
NulTermString   server_version
FixedInt<4>     connection_id
NulTermString   auth-method-data
FixedInt<2>     capabilities (lower 16bit)

3.23 and later add:

FixedInt<1>     collation
FixedInt<2>     status flags
FixedInt<2>     capabilities (upper 16bit)
FixedInt<1>     length of auth-method-data or 0x00
String<10>      reserved

if capabilities.secure_connection is set, adds

String<len>     auth-method-data-2

if capabilities.plugin_auth is set, adds

NulTermString   auth-method

Member Typedef Documentation

◆ __base

using classic_protocol::Codec< message::server::Greeting >::__base = impl::EncodeBase<Codec<value_type> >

◆ value_type

using classic_protocol::Codec< message::server::Greeting >::value_type = message::server::Greeting

Constructor & Destructor Documentation

◆ Codec()

classic_protocol::Codec< message::server::Greeting >::Codec ( value_type  v,
capabilities::value_type  caps 
)
inline

Member Function Documentation

◆ accumulate_fields()

template<class Accumulator >
auto classic_protocol::Codec< message::server::Greeting >::accumulate_fields ( Accumulator &&  accu) const
inlineprivate

◆ decode()

template<class ConstBufferSequence >
static stdx::expected< std::pair< size_t, value_type >, std::error_code > classic_protocol::Codec< message::server::Greeting >::decode ( const ConstBufferSequence &  buffers,
capabilities::value_type  caps 
)
inlinestatic

Member Data Documentation

◆ __base

friend classic_protocol::Codec< message::server::Greeting >::__base

◆ v_

const value_type classic_protocol::Codec< message::server::Greeting >::v_
private

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