123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // Copyright (c) 2019-2024 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
- //
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef BOOST_MYSQL_DETAIL_PIPELINE_HPP
- #define BOOST_MYSQL_DETAIL_PIPELINE_HPP
- #include <boost/mysql/character_set.hpp>
- #include <boost/mysql/detail/resultset_encoding.hpp>
- #include <cstddef>
- #include <cstdint>
- namespace boost {
- namespace mysql {
- namespace detail {
- class execution_processor;
- enum class pipeline_stage_kind
- {
- execute,
- prepare_statement,
- close_statement,
- reset_connection,
- set_character_set,
- ping,
- };
- struct pipeline_request_stage
- {
- pipeline_stage_kind kind;
- std::uint8_t seqnum;
- union stage_specific_t
- {
- std::nullptr_t nothing;
- resultset_encoding enc;
- character_set charset;
- stage_specific_t() noexcept : nothing() {}
- stage_specific_t(resultset_encoding v) noexcept : enc(v) {}
- stage_specific_t(character_set v) noexcept : charset(v) {}
- } stage_specific;
- };
- } // namespace detail
- } // namespace mysql
- } // namespace boost
- #endif
|