TraveSim Adapters  0.1
Protobuf adapters for TraveSim project
travesim::udp::UnicastReceiver Class Reference

Receiver class using UDP in unicast mode. More...

#include "unicast_receiver.hpp"

Inheritance diagram for travesim::udp::UnicastReceiver:
Collaboration diagram for travesim::udp::UnicastReceiver:

Public Member Functions

 UnicastReceiver (const std::string receiver_address, const short receiver_port)
 Construct a new Unicast Receiver object. More...
 
 ~UnicastReceiver ()
 Destroy the Unicast Receiver object. More...
 
- Public Member Functions inherited from travesim::udp::Receiver
 Receiver (const std::string receiver_address, const short receiver_port)
 Construct a new Receiver object. More...
 
virtual ~Receiver ()
 Destroy the Receiver object. More...
 
size_t receive (char *buffer, const size_t buffer_size)
 Receive data using UDP. More...
 
size_t receive_latest (char *buffer, const size_t buffer_size)
 Receive the latest data using UDP. More...
 
void force_specific_source (bool specific_source)
 Set wheter to enable any source or source specific. True for specific source, false for any source, default is false. More...
 
void set_receiver_endpoint (const std::string receiver_address, const short receiver_port)
 Set the receiver endpoint. More...
 
void reset (void)
 Reset the receiver. More...
 

Private Member Functions

void open_socket ()
 Open the socket with the desired options. More...
 

Additional Inherited Members

- Protected Member Functions inherited from travesim::udp::Receiver
virtual void close_socket ()
 Close the socket. More...
 
- Protected Attributes inherited from travesim::udp::Receiver
boost::asio::ip::udp::socket * socket
 
boost::asio::ip::udp::endpoint receiver_endpoint
 

Detailed Description

Receiver class using UDP in unicast mode.

Definition at line 24 of file unicast_receiver.hpp.

Constructor & Destructor Documentation

◆ UnicastReceiver()

travesim::udp::UnicastReceiver::UnicastReceiver ( const std::string  receiver_address,
const short  receiver_port 
)

Construct a new Unicast Receiver object.

Parameters
receiver_addressAddress where to send data
receiver_portPort where to send data
Note
The unicast addresses must be in the block 127.0.0.0/8, see IANA IPv4 Address Space Registry or the RFC6890 for more informations.

Definition at line 22 of file unicast_receiver.cpp.

22  : Receiver(receiver_address,
23  receiver_port) {
24  this->open_socket();
25 };
void open_socket()
Open the socket with the desired options.
Receiver(const std::string receiver_address, const short receiver_port)
Construct a new Receiver object.
Definition: receiver.cpp:32

References open_socket().

Here is the call graph for this function:

◆ ~UnicastReceiver()

travesim::udp::UnicastReceiver::~UnicastReceiver ( )

Destroy the Unicast Receiver object.

Definition at line 27 of file unicast_receiver.cpp.

27  {
28  this->close_socket();
29 };
virtual void close_socket()
Close the socket.
Definition: receiver.cpp:128

References travesim::udp::Receiver::close_socket().

Here is the call graph for this function:

Member Function Documentation

◆ open_socket()

void travesim::udp::UnicastReceiver::open_socket ( )
privatevirtual

Open the socket with the desired options.

Implements travesim::udp::Receiver.

Definition at line 35 of file unicast_receiver.cpp.

35  {
36  this->socket->open(this->receiver_endpoint.protocol());
37 
38  this->socket->set_option(boost::asio::ip::unicast::hops(1));
39  this->socket->bind(this->receiver_endpoint);
40 
41  // Use non blocking for syncronous reading
42  this->socket->non_blocking(true);
43 };
boost::asio::ip::udp::socket * socket
Definition: receiver.hpp:88
boost::asio::ip::udp::endpoint receiver_endpoint
Definition: receiver.hpp:89

References travesim::udp::Receiver::receiver_endpoint, and travesim::udp::Receiver::socket.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: