26#ifndef MYSQL_ROUTER_CLASSIC_PROTOCOL_CODEC_CLONE_H_
27#define MYSQL_ROUTER_CLASSIC_PROTOCOL_CODEC_CLONE_H_
35namespace clone::client {
60 template <
class Accumulator>
85 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
88 auto protocol_version_res = accu.template step<wire::FixedInt<4>>();
89 if (!protocol_version_res) {
92 auto ddl_timeout_res = accu.template step<wire::FixedInt<4>>();
93 if (!ddl_timeout_res) {
113 template <
class Accumulator>
131 template <
class ConstBufferSequence>
136 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
149 template <
class Accumulator>
167 template <
class ConstBufferSequence>
172 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
185 template <
class Accumulator>
203 template <
class ConstBufferSequence>
208 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
221 template <
class Accumulator>
239 template <
class ConstBufferSequence>
244 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
257 template <
class Accumulator>
275 template <
class ConstBufferSequence>
280 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
323 template <
class Accumulator>
341 template <
class ConstBufferSequence>
346 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
359 template <
class Accumulator>
377 template <
class ConstBufferSequence>
382 auto cmd_byte_res = accu.template step<wire::FixedInt<1>>();
const value_type v_
Definition: classic_protocol_codec_clone.h:251
Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:232
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:222
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:235
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:240
friend __base
Definition: classic_protocol_codec_clone.h:230
const value_type v_
Definition: classic_protocol_codec_clone.h:179
friend __base
Definition: classic_protocol_codec_clone.h:158
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:163
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:150
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:168
Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:160
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:127
constexpr Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:124
friend __base
Definition: classic_protocol_codec_clone.h:122
const value_type v_
Definition: classic_protocol_codec_clone.h:143
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:132
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:114
constexpr Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:268
const value_type v_
Definition: classic_protocol_codec_clone.h:287
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:258
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:276
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:271
friend __base
Definition: classic_protocol_codec_clone.h:266
friend __base
Definition: classic_protocol_codec_clone.h:72
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:81
const value_type v_
Definition: classic_protocol_codec_clone.h:104
Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:74
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:61
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:77
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:186
Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:196
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:199
const value_type v_
Definition: classic_protocol_codec_clone.h:215
friend __base
Definition: classic_protocol_codec_clone.h:194
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:204
friend __base
Definition: classic_protocol_codec_clone.h:332
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:342
constexpr Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:334
const value_type v_
Definition: classic_protocol_codec_clone.h:353
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:337
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:324
clone::server::Complete value_type
Definition: classic_protocol_codec_clone.h:329
clone::server::Error value_type
Definition: classic_protocol_codec_clone.h:365
const value_type v_
Definition: classic_protocol_codec_clone.h:389
static stdx::expected< std::pair< size_t, value_type >, std::error_code > decode(const net::const_buffer &buffer, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:378
constexpr Codec(value_type v, capabilities::value_type caps)
Definition: classic_protocol_codec_clone.h:370
constexpr auto accumulate_fields(Accumulator &&accu) const
Definition: classic_protocol_codec_clone.h:360
friend __base
Definition: classic_protocol_codec_clone.h:368
constexpr static uint8_t cmd_byte() noexcept
Definition: classic_protocol_codec_clone.h:373
Codec for a type.
Definition: classic_protocol_codec_base.h:72
Definition: classic_protocol_wire.h:103
Definition: classic_protocol_clone.h:57
Definition: classic_protocol_clone.h:51
Definition: classic_protocol_clone.h:55
Definition: classic_protocol_clone.h:66
Definition: classic_protocol_clone.h:43
Definition: classic_protocol_clone.h:52
Definition: classic_protocol_clone.h:83
Definition: classic_protocol_clone.h:84
Definition: classic_protocol_clone.h:70
Generator of decoded Types of a buffer.
Definition: classic_protocol_codec_base.h:153
result_type result() const
get result of the step().
Definition: classic_protocol_codec_base.h:219
CRTP base for the Codec's encode part.
Definition: classic_protocol_codec_base.h:374
Definition: expected.h:284
constexpr const error_type & error() const &
Definition: expected.h:751
constexpr value_type & value() &
Definition: expected.h:636
static int Init(MYSQL_PLUGIN p)
Definition: ha_mock.cc:392
std::bitset< 32 > value_type
Definition: classic_protocol_constants.h:73
CommandByte
Definition: classic_protocol_codec_clone.h:36
CommandByte
Definition: classic_protocol_codec_clone.h:291
Definition: classic_protocol_binary.h:39
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
Definition: gcs_xcom_synode.h:64
unexpected(E) -> unexpected< E >
struct server server
Definition: server_struct.h:59
static ORDER * clone(THD *thd, ORDER *order)
Shallow clone the list of ORDER objects using mem_root and return the cloned list.
Definition: window.cc:85