UHD  003.004.002-0-unknown
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes
uhd::transport::udp_simple Class Reference

#include <udp_simple.hpp>

List of all members.

Public Types

typedef boost::shared_ptr
< udp_simple
sptr

Public Member Functions

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

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.

Member Typedef Documentation

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

Member Function Documentation

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.

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
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
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
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
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

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: