8 #ifndef IUDPCOMMUNICATION_HPP_
9 #define IUDPCOMMUNICATION_HPP_
14 #include <asio/ip/udp.hpp>
15 #include <asio/error_code.hpp>
16 #include <asio/io_context.hpp>
18 using byte =
unsigned char;
36 virtual void send(std::vector<byte>
const &data) = 0;
45 virtual void send(std::vector<byte>
const &data, asio::ip::address
const &address,
unsigned short const &port) = 0;
53 virtual void async_send(std::vector<byte>
const &data, std::function<
void(std::error_code
const &, std::size_t)> callBack) = 0;
63 virtual void async_send(std::vector<byte>
const &data, std::function<
void(std::error_code
const &, std::size_t)> callBack, asio::ip::address
const &address,
unsigned short const &port) = 0;
71 virtual std::pair<asio::ip::address, unsigned short>
receive(std::vector<byte> &data) = 0;
79 virtual void async_receive(std::vector<byte> &data, std::function<
void(std::error_code
const &, std::size_t)> callBack) = 0;
86 virtual std::pair<asio::ip::address, unsigned short>
getEnpointInfo()
const = 0;
93 virtual void setEnpointInfo(std::pair<asio::ip::address, unsigned short>
const &endpointInfo) = 0;
101 virtual void setEnpointInfo(asio::ip::address
const &address,
unsigned short const &port) = 0;
virtual void async_receive(std::vector< byte > &data, std::function< void(std::error_code const &, std::size_t)> callBack)=0
A method to receive a message in an async way.
virtual std::pair< asio::ip::address, unsigned short > getEnpointInfo() const =0
Get the Enpoint Info object.
virtual void setEnpointInfo(std::pair< asio::ip::address, unsigned short > const &endpointInfo)=0
Set the Enpoint Info object.
virtual void async_send(std::vector< byte > const &data, std::function< void(std::error_code const &, std::size_t)> callBack)=0
A method to send a message to an already known ip adress and port adress in an async way.
Interface representing UdpCommunication.
Definition: IUdpCommunication.hpp:23
virtual ~IUdpCommunication()=default
Destroy the IUdpCommunication object.
virtual void send(std::vector< byte > const &data)=0
A method to send a message to the already known ip adress and port adress.
virtual std::pair< asio::ip::address, unsigned short > receive(std::vector< byte > &data)=0
A method to receive a message.