8 #ifndef COMMUNICATION_HPP_
9 #define COMMUNICATION_HPP_
11 #include "../../include/RType.hpp"
15 #include "../../include/Protocol.hpp"
36 template <
typename Socket,
typename Endpo
int>
37 void sendData(
void *data, std::size_t size, uint8_t packetType, Socket &socket, Endpoint &endpoint)
51 void sendInformation(
void *data, std::size_t size, asio::ip::udp::socket &socket,
59 void sendInformation(
void *data, std::size_t size, asio::ip::tcp::socket &socket, asio::ip::tcp::endpoint &,
77 asio::streambuf::mutable_buffers_type
_buffer;
80 std::map<unsigned short, asio::ip::udp::endpoint>
_listClient;
Definition: ACommunication.hpp:20
virtual void handleData(struct RType::Protocol::HeaderDataPacket &, unsigned short port)=0
function that will be set and used from derived class from this abstract
void sendInformation(void *data, std::size_t size, asio::ip::udp::socket &socket, asio::ip::udp::endpoint &endpoint, struct RType::Protocol::HeaderDataPacket &header)
send the data to endpoint from the socket
Definition: ACommunication.cpp:17
void handleReceive(const asio::error_code &error, std::size_t recvBytes, struct RType::Protocol::HeaderDataPacket &header)
handle the header information
Definition: ACommunication.cpp:43
asio::streambuf _streamBuffer
Definition: ACommunication.hpp:75
void sendData(void *data, std::size_t size, uint8_t packetType, Socket &socket, Endpoint &endpoint)
Set the header to send the value.
Definition: ACommunication.hpp:37
asio::ip::udp::endpoint _endpoint
Definition: ACommunication.hpp:79
ACommunication(asio::io_context &IOContext, unsigned short port)
Abstract class that will handle communication.
Definition: ACommunication.cpp:12
virtual ~ACommunication()
Definition: ACommunication.hpp:27
asio::streambuf::mutable_buffers_type _buffer
Definition: ACommunication.hpp:77
void readHeader()
read the header to retrieve informations
Definition: ACommunication.cpp:63
struct RType::Protocol::HeaderDataPacket _header
Definition: ACommunication.hpp:78
std::map< unsigned short, asio::ip::udp::endpoint > _listClient
Definition: ACommunication.hpp:80
asio::ip::udp::socket _udpSocket
Definition: ACommunication.hpp:76
Definition: ACommunication.hpp:18