18 #ifndef INCLUDED_UHD_TRANSPORT_ZERO_COPY_HPP 19 #define INCLUDED_UHD_TRANSPORT_ZERO_COPY_HPP 22 #include <boost/utility.hpp> 23 #include <boost/shared_ptr.hpp> 25 namespace uhd{
namespace transport{
34 typedef boost::shared_ptr<managed_recv_buffer>
sptr;
41 virtual void release(
void) = 0;
47 template <
class T>
inline T
cast(
void)
const{
48 return static_cast<T
>(this->get_buff());
55 inline size_t size(
void)
const{
56 return this->get_size();
60 virtual const void *get_buff(
void)
const = 0;
61 virtual size_t get_size(
void)
const = 0;
71 typedef boost::shared_ptr<managed_send_buffer>
sptr;
79 virtual void commit(
size_t num_bytes) = 0;
85 template <
class T>
inline T
cast(
void)
const{
86 return static_cast<T
>(this->get_buff());
93 inline size_t size(
void)
const{
94 return this->get_size();
98 virtual void *get_buff(
void)
const = 0;
99 virtual size_t get_size(
void)
const = 0;
109 typedef boost::shared_ptr<zero_copy_if>
sptr;
123 virtual size_t get_num_recv_frames(
void)
const = 0;
130 virtual size_t get_recv_frame_size(
void)
const = 0;
144 virtual size_t get_num_send_frames(
void)
const = 0;
151 virtual size_t get_send_frame_size(
void)
const = 0;
size_t size(void) const
Definition: zero_copy.hpp:55
size_t size(void) const
Definition: zero_copy.hpp:93
boost::shared_ptr< zero_copy_if > sptr
Definition: zero_copy.hpp:109
boost::shared_ptr< managed_recv_buffer > sptr
Definition: zero_copy.hpp:34
Definition: zero_copy.hpp:69
#define UHD_API
Definition: config.hpp:76
Definition: convert.hpp:28
Definition: zero_copy.hpp:32
Definition: zero_copy.hpp:107
T cast(void) const
Definition: zero_copy.hpp:85
T cast(void) const
Definition: zero_copy.hpp:47
boost::shared_ptr< managed_send_buffer > sptr
Definition: zero_copy.hpp:71