37 lines
869 B
C++
37 lines
869 B
C++
#pragma once
|
|
|
|
#include "td/network/TCPSocket.h"
|
|
#include "td/protocol/PacketHandler.h"
|
|
#include "td/protocol/PacketDispatcher.h"
|
|
#include "td/game/Player.h"
|
|
|
|
namespace td {
|
|
namespace protocol {
|
|
|
|
class Connexion : public protocol::PacketHandler {
|
|
protected:
|
|
protocol::PacketDispatcher m_Dispatcher;
|
|
private:
|
|
network::TCPSocket m_Socket;
|
|
public:
|
|
Connexion();
|
|
Connexion(Connexion&& move);
|
|
Connexion(protocol::PacketDispatcher* dispatcher);
|
|
Connexion(protocol::PacketDispatcher* dispatcher, network::TCPSocket& socket);
|
|
virtual ~Connexion();
|
|
|
|
virtual bool UpdateSocket();
|
|
void CloseConnection();
|
|
|
|
bool Connect(const std::string& address, std::uint16_t port);
|
|
|
|
network::Socket::Status GetSocketStatus() const { return m_Socket.GetStatus(); }
|
|
|
|
void SendPacket(const protocol::Packet* packet);
|
|
|
|
REMOVE_COPY(Connexion);
|
|
};
|
|
|
|
} // namespace server
|
|
} // namespace td
|