FeatherMC/src/network/TCPClient.h

31 lines
581 B
C++

#pragma once
#include "Lockable.h"
#include "TCPCommon.h"
#include <cstdint>
#include <vector>
namespace Feather::Network
{
class TCPClient
{
public:
TCPClient(TCPListener* parent, SocketHandle socket);
~TCPClient();
void ReadCallback();
void WriteCallback();
void EventCallback(int16_t event);
void Write(const uint8_t* data, size_t size);
LockableVector<uint8_t>& GetData();
private:
TCPListener* m_parent;
bufferevent* m_bufferEvent;
LockableVector<uint8_t> m_data;
};
}