UDP interface. More...
#include <udp.h>

Public Member Functions | |
| void | close () override |
| Close connection. More... | |
| std::string | get_remote_endpoint () const |
| bool | is_open () override |
| MAVConnUDP (uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE, std::string bind_host=DEFAULT_BIND_HOST, unsigned short bind_port=DEFAULT_BIND_PORT, std::string remote_host=DEFAULT_REMOTE_HOST, unsigned short remote_port=DEFAULT_REMOTE_PORT) | |
| void | send_bytes (const uint8_t *bytes, size_t length) override |
| Send raw bytes (for some quirks) More... | |
| void | send_message (const mavlink::mavlink_message_t *message) override |
| Send message (mavlink_message_t) More... | |
| void | send_message (const mavlink::Message &message, const uint8_t source_compid) override |
| Send message (child of mavlink::Message) More... | |
| virtual | ~MAVConnUDP () |
Public Member Functions inherited from mavconn::MAVConnInterface | |
| uint8_t | get_component_id () |
| virtual IOStat | get_iostat () |
| Protocol | get_protocol_version () |
| virtual mavlink::mavlink_status_t | get_status () |
| uint8_t | get_system_id () |
| MAVConnInterface (uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE) | |
| virtual void | send_message (const mavlink::Message &message) |
| Send message (child of mavlink::Message) More... | |
| void | send_message_ignore_drop (const mavlink::mavlink_message_t *message) |
| Send message and ignore possible drop due to Tx queue limit. More... | |
| void | send_message_ignore_drop (const mavlink::Message &message) |
| Send message and ignore possible drop due to Tx queue limit. More... | |
| void | send_message_ignore_drop (const mavlink::Message &message, const uint8_t src_compid) |
| Send message and ignore possible drop due to Tx queue limit. More... | |
| void | set_component_id (uint8_t compid) |
| void | set_protocol_version (Protocol pver) |
| void | set_system_id (uint8_t sysid) |
Static Public Attributes | |
| static constexpr auto | BROADCAST_REMOTE_HOST = "***i want broadcast***" |
| Markers for broadcast modes. Not valid domain names. More... | |
| static constexpr auto | DEFAULT_BIND_HOST = "localhost" |
| static constexpr auto | DEFAULT_BIND_PORT = 14555 |
| static constexpr auto | DEFAULT_REMOTE_HOST = "" |
| static constexpr auto | DEFAULT_REMOTE_PORT = 14550 |
| static constexpr auto | PERMANENT_BROADCAST_REMOTE_HOST = "***permanent broadcast***" |
Private Member Functions | |
| void | do_recvfrom () |
| void | do_sendto (bool check_tx_state) |
Private Attributes | |
| boost::asio::ip::udp::endpoint | bind_ep |
| boost::asio::io_service | io_service |
| std::thread | io_thread |
| std::unique_ptr< boost::asio::io_service::work > | io_work |
| boost::asio::ip::udp::endpoint | last_remote_ep |
| std::recursive_mutex | mutex |
| bool | permanent_broadcast |
| boost::asio::ip::udp::endpoint | recv_ep |
| boost::asio::ip::udp::endpoint | remote_ep |
| std::atomic< bool > | remote_exists |
| std::array< uint8_t, MsgBuffer::MAX_SIZE > | rx_buf |
| boost::asio::ip::udp::socket | socket |
| std::atomic< bool > | tx_in_progress |
| std::deque< MsgBuffer > | tx_q |
Additional Inherited Members | |
Public Types inherited from mavconn::MAVConnInterface | |
| using | ClosedCb = std::function< void(void)> |
| using | ConstPtr = std::shared_ptr< MAVConnInterface const > |
| using | Ptr = std::shared_ptr< MAVConnInterface > |
| using | ReceivedCb = std::function< void(const mavlink::mavlink_message_t *message, const Framing framing)> |
| using | WeakPtr = std::weak_ptr< MAVConnInterface > |
Static Public Member Functions inherited from mavconn::MAVConnInterface | |
| static std::vector< std::string > | get_known_dialects () |
| static Ptr | open_url (std::string url, uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE) |
| Construct connection from URL. More... | |
Public Attributes inherited from mavconn::MAVConnInterface | |
| ReceivedCb | message_received_cb |
| Message receive callback. More... | |
| ClosedCb | port_closed_cb |
| Port closed notification callback. More... | |
Protected Member Functions inherited from mavconn::MAVConnInterface | |
| mavlink::mavlink_message_t * | get_buffer_p () |
| mavlink::mavlink_status_t * | get_status_p () |
| void | iostat_rx_add (size_t bytes) |
| void | iostat_tx_add (size_t bytes) |
| void | log_recv (const char *pfx, mavlink::mavlink_message_t &msg, Framing framing) |
| void | log_send (const char *pfx, const mavlink::mavlink_message_t *msg) |
| void | log_send_obj (const char *pfx, const mavlink::Message &msg) |
| void | parse_buffer (const char *pfx, uint8_t *buf, const size_t bufsize, size_t bytes_received) |
Protected Attributes inherited from mavconn::MAVConnInterface | |
| uint8_t | comp_id |
| Connection Component Id. More... | |
| size_t | conn_id |
| Channel number used for logging. More... | |
| uint8_t | sys_id |
| Connection System Id. More... | |
Static Protected Attributes inherited from mavconn::MAVConnInterface | |
| static constexpr size_t | MAX_PACKET_SIZE = MAVLINK_MAX_PACKET_LEN + 16 |
| Maximum mavlink packet size + some extra bytes for padding. More... | |
| static constexpr size_t | MAX_TXQ_SIZE = 1000 |
| Maximum count of transmission buffers. More... | |
| static std::unordered_map< mavlink::msgid_t, const mavlink::mavlink_msg_entry_t * > | message_entries {} |
| This map merge all dialect mavlink_msg_entry_t structs. Needed for packet parser. More... | |