File indexing completed on 2025-04-09 08:28:01
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_MYSQL_DETAIL_PIPELINE_HPP
0009 #define BOOST_MYSQL_DETAIL_PIPELINE_HPP
0010
0011 #include <boost/mysql/character_set.hpp>
0012
0013 #include <boost/mysql/detail/resultset_encoding.hpp>
0014
0015 #include <cstddef>
0016 #include <cstdint>
0017
0018 namespace boost {
0019 namespace mysql {
0020 namespace detail {
0021
0022 class execution_processor;
0023
0024 enum class pipeline_stage_kind
0025 {
0026 execute,
0027 prepare_statement,
0028 close_statement,
0029 reset_connection,
0030 set_character_set,
0031 ping,
0032 };
0033
0034 struct pipeline_request_stage
0035 {
0036 pipeline_stage_kind kind;
0037 std::uint8_t seqnum;
0038 union stage_specific_t
0039 {
0040 std::nullptr_t nothing;
0041 resultset_encoding enc;
0042 character_set charset;
0043
0044 stage_specific_t() noexcept : nothing() {}
0045 stage_specific_t(resultset_encoding v) noexcept : enc(v) {}
0046 stage_specific_t(character_set v) noexcept : charset(v) {}
0047 } stage_specific;
0048 };
0049
0050 }
0051 }
0052 }
0053
0054 #endif