This commit is contained in:
TheDoctor
2019-10-15 19:03:35 +01:00
parent c50d40341f
commit 0481a7d642
15 changed files with 157 additions and 201 deletions

View File

@ -13,23 +13,27 @@ namespace std::net
public:
friend class TcpConnectionHandler;
TcpConnection();
TcpConnection(TcpClient *client);
std::shared_ptr<TcpClient> GetClient();
uint32_t GetID();
void SetID(uint32_t id);
bool Connect(IPAddress addr);
template<typename T>
void SendMessage(DistributionMode mode, uint32_t destinationId, uint32_t tag, void *data)
{
NetworkMessage msg(m_id, mode, destinationId, tag, data, sizeof(T));
sendMessage(msg);
}
void ReceiveData();
std::function<void(uint32_t, DistributionMode, uint32_t, uint32_t, void*)> DataReceivedEvent;
std::function<void(uint32_t, std::string, int32_t)> DisconnectedEvent;
std::function<void(std::string)> DisconnectedEvent;
std::function<void(uint32_t, void*)> NewConnectionEvent;
std::function<void()> OnConnectionEvent;
private:
bool sendMessage(const NetworkMessage &msg);