MySQL 9.0.0
Source Code Documentation
classic_protocol::Codec< borrowable::session_track::Field< Borrowed > > Class Template Reference

codec for session-track's Field. More...

#include <classic_protocol_codec_session_track.h>

Inheritance diagram for classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >:
[legend]

Public Types

using value_type = borrowable::session_track::Field< Borrowed >
 
using __base = impl::EncodeBase< Codec< value_type > >
 

Public Member Functions

constexpr Codec (value_type v, capabilities::value_type caps)
 
- Public Member Functions inherited from classic_protocol::impl::EncodeBase< Codec< borrowable::session_track::Field< Borrowed > > >
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 stdx::expected< std::pair< size_t, value_type >, std::error_code > decode (const net::const_buffer &buffer, capabilities::value_type caps)
 decode a session_track::Field from a buffer-sequence. More...
 

Public Attributes

friend __base
 

Private Member Functions

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

Private Attributes

const value_type v_
 

Detailed Description

template<bool Borrowed>
class classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >

codec for session-track's Field.

sent as part of a server::Ok and server::Eof message.

  • FixedInt<1> type
  • VarString data

data is encoded according type:

  • 0x00 session_track::SystemVariable
  • 0x01 session_track::Schema
  • 0x02 session_track::StateChanged
  • 0x03 session_track::Gtid
  • 0x04 session_track::TransactionCharacteristics
  • 0x05 session_track::TransactionState

Member Typedef Documentation

◆ __base

◆ value_type

Constructor & Destructor Documentation

◆ Codec()

template<bool Borrowed>
constexpr classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >::Codec ( value_type  v,
capabilities::value_type  caps 
)
inlineconstexpr

Member Function Documentation

◆ accumulate_fields()

template<bool Borrowed>
template<class Accumulator >
constexpr auto classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >::accumulate_fields ( Accumulator &&  accu) const
inlineconstexprprivate

◆ decode()

template<bool Borrowed>
static stdx::expected< std::pair< size_t, value_type >, std::error_code > classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >::decode ( const net::const_buffer buffer,
capabilities::value_type  caps 
)
inlinestatic

decode a session_track::Field from a buffer-sequence.

Parameters
bufferinput buffer
capsprotocol capabilities
Return values
std::pair<size_t,session_track::Field>on success, with bytes processed
codec_errc::not_enough_inputnot enough data to parse the whole message

Member Data Documentation

◆ __base

template<bool Borrowed>
friend classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >::__base

◆ v_

template<bool Borrowed>
const value_type classic_protocol::Codec< borrowable::session_track::Field< Borrowed > >::v_
private

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