udp_listener.cpp
Go to the documentation of this file.
1 #include "udp_listener.h"
2 #include <boost/bind.hpp>
3 #include <ros/console.h>
4 
5 using namespace boost::asio;
6 
7 UDPListener::UDPListener(const std::string& ip, uint16_t port)
8  : IPListener(ip, port),
9  socket(service, ip::udp::endpoint(ip::address::from_string(ip), port))
10 {
12  ROS_DEBUG_STREAM("Starting asio thread");
13  asioThread = std::thread([&]() { service.run(); });
14 }
15 
17 {
18  socket.async_receive_from(boost::asio::buffer(datas), endpoint,
19  boost::bind(&IPListener::onNewDataReceived, this,
20  boost::asio::placeholders::error,
21  boost::asio::placeholders::bytes_transferred));
22 }
boost::asio::io_service service
Definition: ip_listener.h:45
void onNewDataReceived(const boost::system::error_code &error, std::size_t bytes_transfered)
Definition: ip_listener.cpp:14
boost::asio::ip::udp::socket socket
Definition: udp_listener.h:14
io_service service
std::thread asioThread
Definition: ip_listener.h:46
boost::asio::ip::udp::endpoint endpoint
Definition: udp_listener.h:15
Contains the common part of TCP and UDP Receiver. This class manage the io_service thread...
Definition: ip_listener.h:22
boost::array< uint8_t, 8192 > datas
Definition: ip_listener.h:44
#define ROS_DEBUG_STREAM(args)
UDPListener()=delete
void listenNextData()


ixblue_ins_driver
Author(s): Adrien BARRAL , Laure LE BRETON
autogenerated on Wed Jan 27 2021 03:37:01