Network

This class receive all the packets from the server and add them in a queue

Public member functions

Network(std::string ip = "127.0.0.1", int port = 4242);
~Network();
void setInst(unsigned char inst);
Stream &getStreamOut();
void send(const Stream &stream);
void send();
void read();
void startReceive();
Queue<Network::Packet> &getQueueIn();
std::pair<size_t, Stream> getNextInst();
void setClosed(bool closed);

Public attributes

std::thread _ReaderThread;

Private attributes

std::string _ip;
int _port;
asio::io_context _ioContext;
asio::ip::udp::socket _socket;
asio::ip::udp::endpoint _serverEndpoint;
bool _closed;
Stream _streamOut;
unsigned char _instOut;
Stream _streamIn;
Queue<Network::Packet> _queueIn;

Member functions documentation

Constructor

Network(std::string ip = "127.0.0.1", int port = 4242);

Parameters

  • ip: The client ip

  • port: The server port

setInst

Set the _instOut attribute

void setInst(unsigned char inst);

getStreamOut

return the _outStream attribute

Stream &getStreamOut();

send

send the Stream in parameter to the client

void send(const Stream &message);

send

send the _streamOut stream with the _instOut instruction

void send();

read

This method start the clock that read inputs

void read();

startReceive

This method is the clock that read inputs

void startReceive();

getQueueIn

This method return the in packet queue

Queue<Network::Packet> &getQueueIn();

getNextInst

Try to get an instruction from th _streamIn. If it can, it return the instruction and the stream of request.

std::pair<size_t, Stream> getNextInst();

setClosed

Set the attribute _closed

void setClosed(bool closed);

Last updated