USRP Hardware Driver and USRP Manual  Version: 4.0.0.0-172-g5802a362f
UHD and USRP Manual
uhd::transport::udp_simple Class Referenceabstract

#include <uhd/transport/udp_simple.hpp>

Inheritance diagram for uhd::transport::udp_simple:

Public Types

typedef std::shared_ptr< udp_simplesptr
 

Public Member Functions

virtual ~udp_simple (void)=0
 
virtual size_t send (const boost::asio::const_buffer &buff)=0
 
virtual size_t recv (const boost::asio::mutable_buffer &buff, double timeout=0.1)=0
 
virtual std::string get_recv_addr (void)=0
 
virtual std::string get_send_addr (void)=0
 

Static Public Member Functions

static sptr make_connected (const std::string &addr, const std::string &port)
 
static sptr make_broadcast (const std::string &addr, const std::string &port)
 
static uart_iface::sptr make_uart (sptr udp)
 

Static Public Attributes

static const size_t mtu = 1500 - 20 - 8
 The maximum number of bytes per udp packet. More...
 

Member Typedef Documentation

◆ sptr

typedef std::shared_ptr<udp_simple> uhd::transport::udp_simple::sptr

Constructor & Destructor Documentation

◆ ~udp_simple()

virtual uhd::transport::udp_simple::~udp_simple ( void  )
pure virtual

Member Function Documentation

◆ get_recv_addr()

virtual std::string uhd::transport::udp_simple::get_recv_addr ( void  )
pure virtual

Get the last IP address as seen by recv(). Only use this with the broadcast socket.

◆ get_send_addr()

virtual std::string uhd::transport::udp_simple::get_send_addr ( void  )
pure virtual

Get the IP address for the destination

◆ make_broadcast()

static sptr uhd::transport::udp_simple::make_broadcast ( const std::string &  addr,
const std::string &  port 
)
static

Make a new broadcasting udp transport: This transport can send udp broadcast datagrams and receive datagrams from multiple sources. The primary usage for this transport will be to discover devices.

The address will be resolved, it can be a host name or ipv4. The port will be resolved, it can be a port type or number.

Parameters
addra string representing the destination address
porta string representing the destination port

◆ make_connected()

static sptr uhd::transport::udp_simple::make_connected ( const std::string &  addr,
const std::string &  port 
)
static

Make a new connected udp transport: This transport is for sending and receiving between this host and a single endpoint. The primary usage for this transport will be control transactions. The underlying implementation is simple and portable (not fast).

The address will be resolved, it can be a host name or ipv4. The port will be resolved, it can be a port type or number.

Parameters
addra string representing the destination address
porta string representing the destination port

◆ make_uart()

static uart_iface::sptr uhd::transport::udp_simple::make_uart ( sptr  udp)
static

Make a UART interface from a UDP transport.

Parameters
udpthe UDP transport object
Returns
a new UART interface

◆ recv()

virtual size_t uhd::transport::udp_simple::recv ( const boost::asio::mutable_buffer &  buff,
double  timeout = 0.1 
)
pure virtual

Receive into the provided buffer. Blocks until data is received or a timeout occurs.

Parameters
buffa mutable buffer to receive into
timeoutthe timeout in seconds
Returns
the number of bytes received or zero on timeout

◆ send()

virtual size_t uhd::transport::udp_simple::send ( const boost::asio::const_buffer &  buff)
pure virtual

Send a single buffer. Blocks until the data is sent.

Parameters
buffsingle asio buffer
Returns
the number of bytes sent

Member Data Documentation

◆ mtu

const size_t uhd::transport::udp_simple::mtu = 1500 - 20 - 8
static

The maximum number of bytes per udp packet.


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