25 #ifndef GOBY_ACOMMS_MODEMDRIVER_UDP_MULTICAST_DRIVER_H
26 #define GOBY_ACOMMS_MODEMDRIVER_UDP_MULTICAST_DRIVER_H
29 #include <boost/asio/ip/udp.hpp>
53 class ModemTransmission;
71 void send_complete(
const boost::system::error_code& error, std::size_t bytes_transferred);
73 void receive_complete(
const boost::system::error_code& error, std::size_t bytes_transferred);
84 boost::asio::ip::udp::socket socket_{io_context_};
85 boost::asio::ip::udp::endpoint receiver_;
86 boost::asio::ip::udp::endpoint sender_;
89 static constexpr
size_t UDP_MAX_PACKET_SIZE = 65507;
91 std::array<char, UDP_MAX_PACKET_SIZE> receive_buffer_;
92 std::uint32_t next_frame_{0};
94 std::map<int, int> rate_to_bytes_;