Asynchronous communication class for a UDP socket. More...
#include <udp.h>

Public Member Functions | |
| UDP (std::string bind_host=DEFAULT_BIND_HOST, uint16_t bind_port=DEFAULT_BIND_PORT, std::string remote_host=DEFAULT_REMOTE_HOST, uint16_t remote_port=DEFAULT_REMOTE_PORT, MessageHandler &message_handler=default_message_handler_) | |
| Bind a UDP socket. More... | |
| ~UDP () | |
Public Member Functions inherited from async_comm::Comm | |
| void | close () |
| Closes the port. More... | |
| Comm (MessageHandler &message_handler=default_message_handler_) | |
| Set up asynchronous communication base class. More... | |
| bool | init () |
| Initializes and opens the port. More... | |
| void | register_listener (CommListener &listener) |
| Register a listener for when bytes are received on the port. More... | |
| void | register_receive_callback (std::function< void(const uint8_t *, size_t)> fun) |
| Register a callback function for when bytes are received on the port. More... | |
| void | send_byte (uint8_t data) |
| Send a single byte over the port. More... | |
| void | send_bytes (const uint8_t *src, size_t len) |
| Send bytes from a buffer over the port. More... | |
| virtual | ~Comm () |
Private Member Functions | |
| void | do_async_read (const boost::asio::mutable_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
| void | do_async_write (const boost::asio::const_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
| void | do_close () override |
| bool | do_init () override |
| bool | is_open () override |
Private Attributes | |
| boost::asio::ip::udp::endpoint | bind_endpoint_ |
| std::string | bind_host_ |
| uint16_t | bind_port_ |
| boost::asio::ip::udp::endpoint | remote_endpoint_ |
| std::string | remote_host_ |
| uint16_t | remote_port_ |
| boost::asio::ip::udp::socket | socket_ |
Static Private Attributes | |
| static constexpr auto | DEFAULT_BIND_HOST = "localhost" |
| static constexpr uint16_t | DEFAULT_BIND_PORT = 16140 |
| static constexpr auto | DEFAULT_REMOTE_HOST = "localhost" |
| static constexpr uint16_t | DEFAULT_REMOTE_PORT = 16145 |
Additional Inherited Members | |
Protected Attributes inherited from async_comm::Comm | |
| boost::asio::io_service | io_service_ |
| MessageHandler & | message_handler_ |
Static Protected Attributes inherited from async_comm::Comm | |
| static DefaultMessageHandler | default_message_handler_ |
| static constexpr size_t | READ_BUFFER_SIZE = 1024 |
| static constexpr size_t | WRITE_BUFFER_SIZE = 1024 |
| async_comm::UDP::UDP | ( | std::string | bind_host = DEFAULT_BIND_HOST, |
| uint16_t | bind_port = DEFAULT_BIND_PORT, |
||
| std::string | remote_host = DEFAULT_REMOTE_HOST, |
||
| uint16_t | remote_port = DEFAULT_REMOTE_PORT, |
||
| MessageHandler & | message_handler = default_message_handler_ |
||
| ) |
Bind a UDP socket.
| bind_host | The bind host where this application is listening (usually "localhost") |
| bind_port | The bind port where this application is listening |
| remote_host | The remote host to communicate with |
| remote_port | The port on the remote host |
| message_handler | Custom message handler, or omit for default handler |
|
overrideprivatevirtual |
Implements async_comm::Comm.
|
overrideprivatevirtual |
Implements async_comm::Comm.
|
overrideprivatevirtual |
Implements async_comm::Comm.
|
overrideprivatevirtual |
Implements async_comm::Comm.
|
overrideprivatevirtual |
Implements async_comm::Comm.
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |