18 #ifndef UNIXUDPSOCKET_HPP_ 19 #define UNIXUDPSOCKET_HPP_ 40 unsigned int port, std::optional<IPAddress> address = {},
41 unsigned long max_bitrate = 0,
42 std::unique_ptr<UnixSyscalls> syscalls =
43 std::make_unique<UnixSyscalls>());
46 const std::vector<uint8_t> &data,
const IPAddress &address)
final;
48 const std::chrono::nanoseconds &timeout =
49 std::chrono::nanoseconds::zero())
final;
52 std::ostream &
print_(std::ostream &os)
const final;
57 std::optional<IPAddress> address_;
58 unsigned long max_bitrate_;
59 std::unique_ptr<UnixSyscalls> syscalls_;
61 std::chrono::time_point<std::chrono::steady_clock> next_time_;
63 void create_socket_();
64 std::pair<std::vector<uint8_t>,
IPAddress> receive_();
68 #endif // UNIXUDPSOCKET_HPP_ UnixUDPSocket(unsigned int port, std::optional< IPAddress > address={}, unsigned long max_bitrate=0, std::unique_ptr< UnixSyscalls > syscalls=std::make_unique< UnixSyscalls >())
virtual std::pair< std::vector< uint8_t >, IPAddress > receive(const std::chrono::nanoseconds &timeout=std::chrono::nanoseconds::zero()) final
virtual void send(const std::vector< uint8_t > &data, const IPAddress &address) final
std::ostream & print_(std::ostream &os) const final