Class ClientSessionBase

Inheritance Relationships

Derived Type

Class Documentation

class ClientSessionBase

Subclassed by ecal_service::ClientSessionV1

Public Types

using EventCallbackT = ecal_service::ClientEventCallbackT
using ResponseCallbackT = ecal_service::ClientResponseCallbackT

Public Functions

ClientSessionBase(const ClientSessionBase&) = delete
ClientSessionBase(ClientSessionBase&&) = delete
ClientSessionBase &operator=(const ClientSessionBase&) = delete
ClientSessionBase &operator=(ClientSessionBase&&) = delete
virtual ~ClientSessionBase() = default
virtual bool async_call_service(const std::shared_ptr<const std::string> &request, const ResponseCallbackT &response_callback) = 0
virtual std::string get_host() const = 0
virtual std::uint16_t get_port() const = 0
virtual asio::ip::tcp::endpoint get_remote_endpoint() const = 0
virtual State get_state() const = 0
virtual std::uint8_t get_accepted_protocol_version() const = 0
virtual int get_queue_size() const = 0
virtual void stop() = 0

Protected Functions

inline ClientSessionBase(const std::shared_ptr<asio::io_context> &io_context_, const EventCallbackT &event_callback)

Protected Attributes

const std::shared_ptr<asio::io_context> io_context_
asio::ip::tcp::socket socket_
mutable std::mutex socket_mutex_
const EventCallbackT event_callback_