23 #ifndef UDPModemDriver20120409H 24 #define UDPModemDriver20120409H 26 #include "goby/common/time.h" 28 #include "goby/acomms/modemdriver/driver_base.h" 29 #include "goby/acomms/protobuf/udp_driver.pb.h" 31 #include <boost/asio.hpp> 32 #include <boost/bind.hpp> 41 UDPDriver(boost::asio::io_service* io_service);
50 void send_complete(
const boost::system::error_code& error, std::size_t bytes_transferred);
52 void receive_complete(
const boost::system::error_code& error, std::size_t bytes_transferred);
57 boost::asio::io_service* io_service_;
58 boost::asio::ip::udp::socket socket_;
59 boost::asio::ip::udp::endpoint receiver_;
60 boost::asio::ip::udp::endpoint sender_;
61 std::vector<char> receive_buffer_;
void handle_initiate_transmission(const protobuf::ModemTransmission &m)
Virtual initiate_transmission method. Typically connected to MACManager::signal_initiate_transmission...
google::protobuf::uint32 uint32
an unsigned 32 bit integer
void shutdown()
Shuts down the modem driver.
The global namespace for the Goby project.
provides an abstract base class for acoustic modem drivers. This is subclassed by the various drivers...
void do_work()
Allows the modem driver to do its work.
void startup(const protobuf::DriverConfig &cfg)
Starts the modem driver. Must be called before poll().