R-Type
R-Type project
NetworkConnectionToServer.hpp
1 #pragma once
2 
3 #include "NetworkConnection.hpp"
4 #include "Transport.hpp"
5 #include "Compression.hpp"
6 
7 namespace KapMirror {
9  public:
14  int getConnectionId() override { return 0; }
15 
19  void disconnect() override { Transport::activeTransport->clientDisconnect(); }
20 
25  void sendToTransport(const std::shared_ptr<ArraySegment<byte>>& data) override {
26  std::shared_ptr<ArraySegment<byte>> dataToSend = data;
27  if (Compression::activeCompression != nullptr) {
28  dataToSend = Compression::activeCompression->compress(data);
29  }
30  Transport::activeTransport->clientSend(dataToSend);
31  }
32  };
33 } // namespace KapMirror
KapMirror::NetworkConnectionToServer::getConnectionId
int getConnectionId() override
Unique identifier for this connection that is assigned by the transport layer. (always 0 for server)
Definition: NetworkConnectionToServer.hpp:14
KapMirror::NetworkConnectionToServer
Definition: NetworkConnectionToServer.hpp:8
KapMirror::NetworkConnection
Definition: NetworkConnection.hpp:9
KapMirror::NetworkConnectionToServer::sendToTransport
void sendToTransport(const std::shared_ptr< ArraySegment< byte >> &data) override
Send raw data to the transport.
Definition: NetworkConnectionToServer.hpp:25
KapMirror::ArraySegment
Definition: ArraySegment.hpp:9
KapMirror::NetworkConnectionToServer::disconnect
void disconnect() override
Disconnects from the server.
Definition: NetworkConnectionToServer.hpp:19