![]() |
MySQL 9.3.0
Source Code Documentation
|
codec for client side greeting message. More...
#include <classic_protocol_codec_message.h>
Public Types | |
using | value_type = borrowable::message::client::Greeting< Borrowed > |
using | __base = impl::EncodeBase< Codec< value_type > > |
Public Member Functions | |
constexpr | Codec (value_type v, capabilities::value_type caps) |
![]() | |
constexpr | EncodeBase (capabilities::value_type caps) |
constexpr size_t | size () const noexcept |
stdx::expected< size_t, std::error_code > | encode (net::mutable_buffer buffer) const |
constexpr capabilities::value_type | caps () const noexcept |
Static Public Member Functions | |
static constexpr capabilities::value_type | depends_on_capabilities () noexcept |
capabilities the codec depends on. More... | |
static stdx::expected< std::pair< size_t, value_type >, std::error_code > | decode (const net::const_buffer &buffer, capabilities::value_type caps) |
Public Attributes | |
friend | __base |
Private Member Functions | |
template<class Accumulator > | |
constexpr auto | accumulate_fields (Accumulator &&accu) const |
Private Attributes | |
const value_type | v_ |
codec for client side greeting message.
in 3.21 ... 4.0:
FixedInt<2> capabilities [protocol_41 not set] FixedInt<3> max-allowed-packet NulTermString username NulTermString auth-method-data [if not connect_with_schema, there may be no trailing Nul-byte] if connect_with_schema { String schema }
the auth-method is "old_password" if "protocol_version == 10 && (capabilities & long_password)", it is "older_password" otherwise
FixedInt<2> capabilities_lo [protocol_41 set] FixedInt<2> capabilities_hi FixedInt<4> max_allowed-packet ...
The capabilities that are part of the message are the client's capabilities (which may announce more than what the server supports). The codec uses the capabilities that are shared between client and server to decide which parts and how they are understood, though.
checked capabilities:
using classic_protocol::Codec< borrowable::message::client::Greeting< Borrowed > >::__base = impl::EncodeBase<Codec<value_type> > |
using classic_protocol::Codec< borrowable::message::client::Greeting< Borrowed > >::value_type = borrowable::message::client::Greeting<Borrowed> |
|
inlineconstexpr |
|
inlineconstexprprivate |
|
inlinestatic |
|
inlinestaticconstexprnoexcept |
capabilities the codec depends on.
friend classic_protocol::Codec< borrowable::message::client::Greeting< Borrowed > >::__base |
|
private |