gr::host_buffer
gr::buffer_single_mapped
gnuradio/host_buffer.h
buffer_type buffer_type gr::host_buffer::type type gr::host_buffer::type
std::unique_ptr< char[]> std::unique_ptr<char[]> gr::host_buffer::d_device_buf d_device_buf gr::host_buffer::d_device_buf
char * char* gr::host_buffer::d_device_base d_device_base gr::host_buffer::d_device_base
void * static void * gr::host_buffer::device_memcpy (void *dest, const void *src, std::size_t count) device_memcpy gr::host_buffer::device_memcpy void * dest const void * src std::size_t count
void * static void * gr::host_buffer::device_memmove (void *dest, const void *src, std::size_t count) device_memmove gr::host_buffer::device_memmove void * dest const void * src std::size_t count
buffer_sptr static buffer_sptr gr::host_buffer::make_buffer (int nitems, size_t sizeof_item, uint64_t downstream_lcm_nitems, uint32_t downstream_max_out_mult, block_sptr link=block_sptr(), block_sptr buf_owner=block_sptr()) make_buffer gr::host_buffer::make_buffer int nitems size_t sizeof_item uint64_t downstream_lcm_nitems uint32_t downstream_max_out_mult block_sptr link block_sptr() block_sptr buf_owner block_sptr()
buffer_sptr static buffer_sptr gr::host_buffer::make_host_buffer (int nitems, std::size_t sizeof_item, uint64_t downstream_lcm_nitems, uint32_t downstream_max_out_mult, block_sptr link, block_sptr buf_owner) make_host_buffer gr::host_buffer::make_host_buffer int nitems std::size_t sizeof_item uint64_t downstream_lcm_nitems uint32_t downstream_max_out_mult block_sptr link block_sptr buf_owner

Creates a new host_buffer object.

nitems

sizeof_item

downstream_lcm_nitems

downstream_max_out_mult

link

buf_owner

pointer to buffer base class

gr::host_buffer::~host_buffer
() override
~host_buffer
gr::host_buffer::~host_buffer
void void gr::host_buffer::post_work (int nitems) override post_work gr::host_buffer::post_work post_work int nitems

Handles post-general_work() cleanup and data transfer.

Called directly after call to general_work() completes and is used for data transfer (and perhaps other administrative activities)

nitems

is the number of items produced by the general_work() function.

bool bool gr::host_buffer::do_allocate_buffer (size_t final_nitems, size_t sizeof_item) override do_allocate_buffer gr::host_buffer::do_allocate_buffer do_allocate_buffer size_t final_nitems size_t sizeof_item

Do actual buffer allocation. Inherited from buffer_single_mapped.

void * void * gr::host_buffer::write_pointer () override write_pointer gr::host_buffer::write_pointer write_pointer

Return a pointer to the write buffer depending on the context.

const void * const void * gr::host_buffer::_read_pointer (unsigned int read_index) override _read_pointer gr::host_buffer::_read_pointer _read_pointer unsigned int read_index

return pointer to read buffer depending on the context

The return value points to at least items_available() items.

bool bool gr::host_buffer::input_blocked_callback (int items_required, int items_avail, unsigned read_index) override input_blocked_callback gr::host_buffer::input_blocked_callback input_blocked_callback int items_required int items_avail unsigned read_index

Callback function that the scheduler will call when it determines that the input is blocked. Override this function if needed.

bool bool gr::host_buffer::output_blocked_callback (int output_multiple, bool force) override output_blocked_callback gr::host_buffer::output_blocked_callback output_blocked_callback int output_multiple bool force

Callback function that the scheduler will call when it determines that the output is blocked.

gr::host_buffer::host_buffer
(int nitems, size_t sizeof_item, uint64_t downstream_lcm_nitems, uint32_t downstream_max_out_mult, block_sptr link, block_sptr buf_owner)
host_buffer
gr::host_buffer::host_buffer
int nitems
size_t sizeof_item
uint64_t downstream_lcm_nitems
uint32_t downstream_max_out_mult
block_sptr link
block_sptr buf_owner

constructor is private. Use the static make_host_buffer function to create instances.

Allocate a buffer that holds at least `nitems` of size `sizeof_item`.

nitems

is the minimum number of items the buffer will hold.

sizeof_item

is the size of an item in bytes.

downstream_lcm_nitems

is the least common multiple of the items to read by downstream blocks

downstream_max_out_mult

is the maximum output multiple of all downstream blocks

link

is the block that writes to this buffer.

buf_owner

if the block that owns the buffer which may or may not be the same as the block that writes to this buffer

The total size of the buffer will be rounded up to a system dependent boundary. This is typically the system page size, but under MS windows is 64KB.
gr::buffer
gr::buffer_single_mapped
gr::custom_lock_if
gr::host_buffer
T
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::buffer
d_debug_logger
d_logger
d_readers
d_link
d_item_tags
gr::buffer_reader
d_buffer
d_link
gr::buffer_single_mapped
d_debug_logger
d_logger
d_buf_owner
d_buffer
gr::buffer_type_base
d_name
gr::custom_lock_if
gr::host_buffer
type
gr::io_signature
gr::messages::msg_accepter
gr::msg_accepter
gr::tag_t
key
srcid
value
marked_deleted
std::basic_string< Char >
std::deque< T >
elements
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
keys
elements
std::multimap< uint64_t, gr::tag_t >
elements
std::shared_ptr< T >
ptr
std::shared_ptr< block >
ptr
std::shared_ptr< buffer >
ptr
std::shared_ptr< io_signature >
ptr
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::string
std::unique_ptr< char[]>
std::vector< gr::buffer_reader * >
elements
p
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
std::weak_ptr< gr::block >
ptr
- gr::host_buffer
  _read_pointer
- gr::host_buffer
  add_item_tag
- gr::host_buffer
  allocate_buffer
- gr::host_buffer
  base
- gr::host_buffer
  buf_owner
- gr::host_buffer
  buffer
- gr::host_buffer
  buffer_single_mapped
- gr::host_buffer
  bufsize
- gr::host_buffer
  d_abs_write_offset
- gr::host_buffer
  d_active_pointer_counter
- gr::host_buffer
  d_base
- gr::host_buffer
  d_buf_map_type
- gr::host_buffer
  d_buf_owner
- gr::host_buffer
  d_buffer
- gr::host_buffer
  d_bufsize
- gr::host_buffer
  d_callback_flag
- gr::host_buffer
  d_cv
- gr::host_buffer
  d_debug_logger
- gr::host_buffer
  d_device_base
- gr::host_buffer
  d_device_buf
- gr::host_buffer
  d_done
- gr::host_buffer
  d_downstream_lcm_nitems
- gr::host_buffer
  d_has_history
- gr::host_buffer
  d_item_tags
- gr::host_buffer
  d_last_min_items_read
- gr::host_buffer
  d_link
- gr::host_buffer
  d_logger
- gr::host_buffer
  d_max_reader_delay
- gr::host_buffer
  d_max_reader_history
- gr::host_buffer
  d_max_reader_output_multiple
- gr::host_buffer
  d_mutex
- gr::host_buffer
  d_readers
- gr::host_buffer
  d_sizeof_item
- gr::host_buffer
  d_transfer_type
- gr::host_buffer
  d_write_index
- gr::host_buffer
  d_write_multiple
- gr::host_buffer
  decrement_active
- gr::host_buffer
  device_memcpy
- gr::host_buffer
  device_memmove
- gr::host_buffer
  do_allocate_buffer
- gr::host_buffer
  done
- gr::host_buffer
  drop_reader
- gr::host_buffer
  get_downstream_lcm_nitems
- gr::host_buffer
  get_mapping_type
- gr::host_buffer
  get_max_reader_output_multiple
- gr::host_buffer
  get_sizeof_item
- gr::host_buffer
  get_tags_begin
- gr::host_buffer
  get_tags_end
- gr::host_buffer
  get_tags_lower_bound
- gr::host_buffer
  get_tags_upper_bound
- gr::host_buffer
  host_buffer
- gr::host_buffer
  increment_active
- gr::host_buffer
  index_add
- gr::host_buffer
  index_sub
- gr::host_buffer
  input_blkd_cb_ready
- gr::host_buffer
  input_blocked_callback
- gr::host_buffer
  input_blocked_callback_logic
- gr::host_buffer
  link
- gr::host_buffer
  make_buffer
- gr::host_buffer
  make_host_buffer
- gr::host_buffer
  mutex
- gr::host_buffer
  nitems_written
- gr::host_buffer
  nreaders
- gr::host_buffer
  on_lock
- gr::host_buffer
  on_unlock
- gr::host_buffer
  output_blkd_cb_ready
- gr::host_buffer
  output_blocked_callback
- gr::host_buffer
  output_blocked_callback_logic
- gr::host_buffer
  post_work
- gr::host_buffer
  prune_tags
- gr::host_buffer
  reader
- gr::host_buffer
  remove_item_tag
- gr::host_buffer
  reset_nitem_counter
- gr::host_buffer
  set_done
- gr::host_buffer
  set_transfer_type
- gr::host_buffer
  space_available
- gr::host_buffer
  type
- gr::host_buffer
  update_reader_block_history
- gr::host_buffer
  update_write_pointer
- gr::host_buffer
  write_pointer
- gr::host_buffer
  ~buffer
- gr::host_buffer
  ~buffer_single_mapped
- gr::host_buffer
  ~custom_lock_if
- gr::host_buffer
  ~host_buffer