|
USRP Hardware Driver and USRP Manual
Version: 4.4.0.HEAD-0-g5fac246b
UHD and USRP Manual
|
|
Go to the documentation of this file.
12 #include <boost/detail/atomic_count.hpp>
13 #include <boost/intrusive_ptr.hpp>
14 #include <boost/utility.hpp>
17 namespace uhd {
namespace transport {
50 return static_cast<T
>(_buffer);
68 return boost::intrusive_ptr<T>(p);
72 typedef boost::intrusive_ptr<managed_buffer>
sptr;
76 return (
int)_ref_count;
105 typedef boost::intrusive_ptr<managed_recv_buffer>
sptr;
116 typedef boost::intrusive_ptr<managed_send_buffer>
sptr;
149 typedef std::shared_ptr<zero_copy_if>
sptr;
168 virtual size_t get_num_recv_frames(
void)
const = 0;
175 virtual size_t get_recv_frame_size(
void)
const = 0;
189 virtual size_t get_num_send_frames(
void)
const = 0;
196 virtual size_t get_send_frame_size(
void)
const = 0;
virtual ~managed_buffer(void)
Definition: zero_copy.hpp:25
virtual ~zero_copy_if()
Definition: zero_copy.hpp:154
UHD_INLINE void intrusive_ptr_release(managed_buffer *p)
Definition: zero_copy.hpp:91
void * _buffer
Definition: zero_copy.hpp:80
UHD_INLINE T cast(void) const
Definition: zero_copy.hpp:48
boost::intrusive_ptr< managed_buffer > sptr
Definition: zero_copy.hpp:72
size_t num_send_frames
Definition: zero_copy.hpp:136
size_t recv_frame_size
Definition: zero_copy.hpp:133
size_t recv_buff_size
Definition: zero_copy.hpp:137
string release
Definition: conf.py:29
std::shared_ptr< zero_copy_if > sptr
Definition: zero_copy.hpp:149
UHD_INLINE void commit(size_t num_bytes)
Definition: zero_copy.hpp:38
#define UHD_INLINE
Definition: config.h:65
#define UHD_API
Definition: config.h:87
virtual void release(void)=0
size_t num_recv_frames
Definition: zero_copy.hpp:135
boost::detail::atomic_count _ref_count
Definition: zero_copy.hpp:71
Definition: zero_copy.hpp:146
size_t send_frame_size
Definition: zero_copy.hpp:134
Definition: zero_copy.hpp:122
zero_copy_xport_params()
Definition: zero_copy.hpp:124
UHD_INLINE void intrusive_ptr_add_ref(managed_buffer *p)
Definition: zero_copy.hpp:86
Definition: build_info.hpp:12
size_t send_buff_size
Definition: zero_copy.hpp:138
UHD_INLINE boost::intrusive_ptr< T > make(T *p, void *buffer, size_t length)
Create smart pointer to a reusable managed buffer.
Definition: zero_copy.hpp:64
boost::intrusive_ptr< managed_recv_buffer > sptr
Definition: zero_copy.hpp:105
UHD_INLINE size_t size(void) const
Definition: zero_copy.hpp:57
int ref_count()
Definition: zero_copy.hpp:74
Definition: zero_copy.hpp:102
boost::intrusive_ptr< managed_send_buffer > sptr
Definition: zero_copy.hpp:116
size_t _length
Definition: zero_copy.hpp:81
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
Simple managed buffer with release interface.
Definition: zero_copy.hpp:20
managed_buffer(void)
Definition: zero_copy.hpp:23
Definition: zero_copy.hpp:113