3 #include "NetworkWriter.hpp"
4 #include "MessagePacking.hpp"
5 #include "NetworkMessage.hpp"
32 template <typename T, typename = std::enable_if<std::is_base_of<NetworkMessage, T>::value>>
36 std::shared_ptr<ArraySegment<byte>> data = writer.
toArraySegment();
virtual int getConnectionId()=0
Unique identifier for this connection that is assigned by the transport layer.
virtual void sendToTransport(const std::shared_ptr< ArraySegment< byte >> &data)=0
Send raw data to the transport.
static void pack(T &message, NetworkWriter &writer)
Pack a message to a byte array with the message ID.
Definition: MessagePacking.hpp:26
std::shared_ptr< ArraySegment< byte > > toArraySegment()
Get the buffer.
Definition: NetworkWriter.hpp:65
virtual void disconnect()=0
Disconnects this connection.
Definition: NetworkConnection.hpp:9
Definition: NetworkWriter.hpp:12
void send(T &message)
Send a NetworkMessage to this connection.
Definition: NetworkConnection.hpp:33
Definition: ArraySegment.hpp:9