An asynchronous udp client. More...
#include <AsyncUDPClient.h>
Public Types | |
typedef boost::function< void(const sick::datastructure::PacketBuffer &)> | PacketHandler |
Typedef to a reference to a function. Will be used to process the incoming packets. | |
Public Member Functions | |
AsyncUDPClient (PacketHandler packet_handler, boost::asio::io_service &io_service, const uint16_t &local_port=0) | |
Constructor of the asynchronous udp client. | |
unsigned short | get_local_port () |
Returns the actual port assigned to the local machine. | |
void | runService () |
Start the listening loop for the udp data packets. | |
virtual | ~AsyncUDPClient () |
The destructor of the asynchronous udp client. | |
Private Member Functions | |
AsyncUDPClient (AsyncUDPClient &) | |
void | handleReceive (const boost::system::error_code &error, const std::size_t &bytes_transferred) |
void | startReceive () |
Private Attributes | |
boost::asio::io_service & | m_io_service |
std::shared_ptr < boost::asio::io_service::work > | m_io_work_ptr |
PacketHandler | m_packet_handler |
datastructure::PacketBuffer::ArrayBuffer | m_recv_buffer |
boost::asio::ip::udp::endpoint | m_remote_endpoint |
std::shared_ptr < boost::asio::ip::udp::socket > | m_socket_ptr |
An asynchronous udp client.
Definition at line 57 of file AsyncUDPClient.h.
typedef boost::function<void(const sick::datastructure::PacketBuffer&)> sick::communication::AsyncUDPClient::PacketHandler |
Typedef to a reference to a function. Will be used to process the incoming packets.
Definition at line 63 of file AsyncUDPClient.h.
sick::communication::AsyncUDPClient::AsyncUDPClient | ( | PacketHandler | packet_handler, |
boost::asio::io_service & | io_service, | ||
const uint16_t & | local_port = 0 |
||
) |
Constructor of the asynchronous udp client.
packet_handler | Function to handle incoming packets. |
io_service | Instance of the boost io_service. |
local_port | The local port, where the udp packets will arrive. |
Definition at line 40 of file AsyncUDPClient.cpp.
sick::communication::AsyncUDPClient::~AsyncUDPClient | ( | ) | [virtual] |
The destructor of the asynchronous udp client.
Definition at line 62 of file AsyncUDPClient.cpp.
sick::communication::AsyncUDPClient::AsyncUDPClient | ( | AsyncUDPClient & | ) | [private] |
unsigned short sick::communication::AsyncUDPClient::get_local_port | ( | ) |
Returns the actual port assigned to the local machine.
Definition at line 97 of file AsyncUDPClient.cpp.
void sick::communication::AsyncUDPClient::handleReceive | ( | const boost::system::error_code & | error, |
const std::size_t & | bytes_transferred | ||
) | [private] |
Definition at line 76 of file AsyncUDPClient.cpp.
Start the listening loop for the udp data packets.
Definition at line 92 of file AsyncUDPClient.cpp.
void sick::communication::AsyncUDPClient::startReceive | ( | ) | [private] |
Definition at line 67 of file AsyncUDPClient.cpp.
boost::asio::io_service& sick::communication::AsyncUDPClient::m_io_service [private] |
Definition at line 98 of file AsyncUDPClient.h.
std::shared_ptr<boost::asio::io_service::work> sick::communication::AsyncUDPClient::m_io_work_ptr [private] |
Definition at line 97 of file AsyncUDPClient.h.
Definition at line 95 of file AsyncUDPClient.h.
datastructure::PacketBuffer::ArrayBuffer sick::communication::AsyncUDPClient::m_recv_buffer [private] |
Definition at line 93 of file AsyncUDPClient.h.
boost::asio::ip::udp::endpoint sick::communication::AsyncUDPClient::m_remote_endpoint [private] |
Definition at line 100 of file AsyncUDPClient.h.
std::shared_ptr<boost::asio::ip::udp::socket> sick::communication::AsyncUDPClient::m_socket_ptr [private] |
Definition at line 99 of file AsyncUDPClient.h.