26template <
typename REQ,
typename RESP>
struct i_server {
28 virtual boost::asio::io_context& get_io_service() = 0;
29 virtual void server_send_completed(std::shared_ptr<
connection<RESP, REQ>>& con,
bool established =
false) = 0;
30 virtual void server_receive_completed(std::shared_ptr<
connection<RESP, REQ>>& con,
const REQ*
const result) = 0;
31 virtual bool is_shutdown_requested() {
return false; }