UHD  003.004.000-unknown
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Types | Static Public Member Functions
uhd::transport::udp_zero_copy Class Reference

#include <udp_zero_copy.hpp>

Inheritance diagram for uhd::transport::udp_zero_copy:
uhd::transport::zero_copy_if

List of all members.

Public Types

typedef boost::shared_ptr
< udp_zero_copy
sptr

Static Public Member Functions

static sptr make (const std::string &addr, const std::string &port, const device_addr_t &hints=device_addr_t())

Detailed Description

A zero copy udp transport provides an efficient way to handle data. by avoiding the extra copy when recv() or send() is called on the socket. Rather, the zero copy transport gives the caller memory references. The caller informs the transport when it is finished with the reference.

On linux systems, the zero copy transport can use a kernel packet ring. If no platform specific solution is available, make returns a boost asio implementation that wraps the functionality around a standard send/recv calls.


Member Typedef Documentation

Reimplemented from uhd::transport::zero_copy_if.


Member Function Documentation

static sptr uhd::transport::udp_zero_copy::make ( const std::string &  addr,
const std::string &  port,
const device_addr_t hints = device_addr_t() 
) [static]

Make a new zero copy udp transport: This transport is for sending and receiving between this host and a single endpoint. The primary usage for this transport will be data transactions. The underlying implementation is fast and platform specific.

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
hintsoptional parameters to pass to the underlying transport

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