31 namespace Connection {
51 Endpoint(deserialize_packet_function, logger),
52 m_connection(
nullptr) {}
86 bool Connect(const Connection::Protocol& protocol, const std::
string& address, const
unsigned short& port) override;
91 void Disconnect() noexcept override;
97 Connection::Status Status() const noexcept override;
108 std::shared_ptr<Connection::
Client> m_connection;
Abstract application client.
Definition client.hxx:43
virtual ~Client() noexcept
Destructor (out-of-line in .cxx).
Client(const DeserializePacketFunction &deserialize_packet_function, std::shared_ptr< Logger::Log > logger) noexcept
Construct with a packet factory and a logger.
Definition client.hxx:50
Client(const Client &other)=delete
Copy constructor (deleted).
Client(Client &&other) noexcept=default
Move constructor.
Shared base for Client and Server.
Definition endpoint.hxx:42
Network module of the StormByte suite.
Definition client.hxx:30
std::function< PacketPointer(Transport::Packet::OpcodeType, Buffer::Consumer, std::shared_ptr< Logger::Log >)> DeserializePacketFunction
Callback that builds a Packet from opcode + payload consumer.
Definition typedefs.hxx:68
std::shared_ptr< Transport::Packet > PacketPointer
Shared packet.
Definition typedefs.hxx:59
#define STORMBYTE_NETWORK_PUBLIC
Definition visibility.h:28