123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- //
- // 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_ALGO_PARAMS_HPP
- #define BOOST_MYSQL_DETAIL_ALGO_PARAMS_HPP
- #include <boost/mysql/character_set.hpp>
- #include <boost/mysql/handshake_params.hpp>
- #include <boost/mysql/string_view.hpp>
- #include <boost/mysql/detail/any_execution_request.hpp>
- #include <boost/mysql/detail/execution_processor/execution_processor.hpp>
- #include <boost/core/span.hpp>
- #include <cstddef>
- #include <cstdint>
- #include <vector>
- namespace boost {
- namespace mysql {
- class rows_view;
- class diagnostics;
- class statement;
- class stage_response;
- namespace detail {
- class execution_processor;
- class execution_state_impl;
- struct pipeline_request_stage;
- struct connect_algo_params
- {
- diagnostics* diag;
- handshake_params hparams;
- bool secure_channel; // Are we using UNIX sockets or any other secure channel?
- using result_type = void;
- };
- struct handshake_algo_params
- {
- diagnostics* diag;
- handshake_params hparams;
- bool secure_channel; // Are we using UNIX sockets or any other secure channel?
- using result_type = void;
- };
- struct execute_algo_params
- {
- diagnostics* diag;
- any_execution_request req;
- execution_processor* proc;
- using result_type = void;
- };
- struct start_execution_algo_params
- {
- diagnostics* diag;
- any_execution_request req;
- execution_processor* proc;
- using result_type = void;
- };
- struct read_resultset_head_algo_params
- {
- diagnostics* diag;
- execution_processor* proc;
- using result_type = void;
- };
- struct read_some_rows_algo_params
- {
- diagnostics* diag;
- execution_processor* proc;
- output_ref output;
- using result_type = std::size_t;
- };
- struct read_some_rows_dynamic_algo_params
- {
- diagnostics* diag;
- execution_state_impl* exec_st;
- using result_type = rows_view;
- };
- struct prepare_statement_algo_params
- {
- diagnostics* diag;
- string_view stmt_sql;
- using result_type = statement;
- };
- struct close_statement_algo_params
- {
- diagnostics* diag;
- std::uint32_t stmt_id;
- using result_type = void;
- };
- struct ping_algo_params
- {
- diagnostics* diag;
- using result_type = void;
- };
- struct reset_connection_algo_params
- {
- diagnostics* diag;
- using result_type = void;
- };
- struct set_character_set_algo_params
- {
- diagnostics* diag;
- character_set charset;
- using result_type = void;
- };
- struct quit_connection_algo_params
- {
- diagnostics* diag;
- using result_type = void;
- };
- struct close_connection_algo_params
- {
- diagnostics* diag;
- using result_type = void;
- };
- struct run_pipeline_algo_params
- {
- diagnostics* diag;
- span<const std::uint8_t> request_buffer;
- span<const pipeline_request_stage> request_stages;
- std::vector<stage_response>* response;
- using result_type = void;
- };
- } // namespace detail
- } // namespace mysql
- } // namespace boost
- #endif
|