block_gateway
gr::block
/pbulk/work/ham/gnuradio-doxygen/work/gnuradio-3.10.12.0/gnuradio-runtime/python/gnuradio/gr/bindings/block_gateway.h
std::shared_ptr< block_gateway > using block_gateway::sptr = std::shared_ptr<block_gateway> sptr block_gateway::sptr
std::map< pmt::pmt_t, std::string, pmt::comparator > using block_gateway::msg_handlers_pybind_t = std::map<pmt::pmt_t, std::string, pmt::comparator> msg_handlers_pybind_t block_gateway::msg_handlers_pybind_t
py::handle py::handle block_gateway::d_py_handle d_py_handle block_gateway::d_py_handle
msg_handlers_pybind_t msg_handlers_pybind_t block_gateway::d_msg_handlers_pybind d_msg_handlers_pybind block_gateway::d_msg_handlers_pybind
block_gateway::block_gateway
(const py::handle &py_handle, const std::string &name, gr::io_signature::sptr in_sig, gr::io_signature::sptr out_sig)
block_gateway
block_gateway::block_gateway
const py::handle & py_handle
const std::string & name
gr::io_signature::sptr in_sig
gr::io_signature::sptr out_sig
gr::basic_block::name
void void block_gateway::_add_item_tag (unsigned int which_output, const gr::tag_t &tag) _add_item_tag block_gateway::_add_item_tag unsigned int which_output const gr::tag_t & tag
void void block_gateway::_add_item_tag (unsigned int which_output, uint64_t abs_offset, const pmt::pmt_t &key, const pmt::pmt_t &value, const pmt::pmt_t &srcid) _add_item_tag block_gateway::_add_item_tag unsigned int which_output uint64_t abs_offset const pmt::pmt_t & key const pmt::pmt_t & value const pmt::pmt_t & srcid
std::vector< gr::tag_t > std::vector< gr::tag_t > block_gateway::_get_tags_in_range (unsigned int which_input, uint64_t abs_start, uint64_t abs_end) _get_tags_in_range block_gateway::_get_tags_in_range unsigned int which_input uint64_t abs_start uint64_t abs_end
std::vector< gr::tag_t > std::vector< gr::tag_t > block_gateway::_get_tags_in_range (unsigned int which_input, uint64_t abs_start, uint64_t abs_end, const pmt::pmt_t &key) _get_tags_in_range block_gateway::_get_tags_in_range unsigned int which_input uint64_t abs_start uint64_t abs_end const pmt::pmt_t & key
std::vector< gr::tag_t > std::vector< gr::tag_t > block_gateway::_get_tags_in_window (unsigned int which_input, uint64_t rel_start, uint64_t rel_end) _get_tags_in_window block_gateway::_get_tags_in_window unsigned int which_input uint64_t rel_start uint64_t rel_end
std::vector< gr::tag_t > std::vector< gr::tag_t > block_gateway::_get_tags_in_window (unsigned int which_input, uint64_t rel_start, uint64_t rel_end, const pmt::pmt_t &key) _get_tags_in_window block_gateway::_get_tags_in_window unsigned int which_input uint64_t rel_start uint64_t rel_end const pmt::pmt_t & key
void void block_gateway::forecast (int noutput_items, gr_vector_int &ninput_items_required) override forecast block_gateway::forecast forecast int noutput_items gr_vector_int & ninput_items_required

Estimate input requirements given output request.

noutput_items

number of output items to produce

ninput_items_required

number of input items required on each input stream

Given a request to product `noutput_items`, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
int int block_gateway::general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override general_work block_gateway::general_work general_work int noutput_items gr_vector_int & ninput_items gr_vector_const_void_star & input_items gr_vector_void_star & output_items

compute output items from input items

noutput_items

number of output items to write on each output stream

ninput_items

number of input items available on each input stream

input_items

vector of pointers to the input items, one entry per input stream

output_items

vector of pointers to the output items, one entry per output stream

number of items actually written to each output stream or WORK_CALLED_PRODUCE or WORK_DONE. It is OK to return a value less than noutput_items.

WORK_CALLED_PRODUCE is used where not all outputs produce the same number of items. general_work must call produce() for each output to indicate the number of items actually produced.

WORK_DONE indicates that no more data will be produced by this block.

general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

bool bool block_gateway::start () override start block_gateway::start start

Called to enable drivers, etc for i/o devices.

This allows a block to enable an associated driver to begin transferring data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.

bool bool block_gateway::stop () override stop block_gateway::stop stop

Called to disable drivers, etc for i/o devices.

void void block_gateway::set_msg_handler_pybind (const pmt::pmt_t &which_port, std::string &handler_name) set_msg_handler_pybind block_gateway::set_msg_handler_pybind const pmt::pmt_t & which_port std::string & handler_name
gr::logger_ptr gr::logger_ptr block_gateway::_get_logger () const _get_logger block_gateway::_get_logger gr::basic_block::d_logger
sptr static sptr block_gateway::make (const py::object &py_handle, const std::string &name, gr::io_signature::sptr in_sig, gr::io_signature::sptr out_sig) make block_gateway::make const py::object & py_handle const std::string & name gr::io_signature::sptr in_sig gr::io_signature::sptr out_sig

Make a new gateway block. py_handle

the pybind11 object with callback

name

the name of the block (Ex: "Shirley")

in_sig

the input signature for this block

out_sig

the output signature for this block

a new gateway block

gr::basic_block::name
bool bool block_gateway::has_msg_handler (pmt::pmt_t which_port) override has_msg_handler block_gateway::has_msg_handler has_msg_handler pmt::pmt_t which_port

Tests if there is a handler attached to port `which_port`.

void void block_gateway::dispatch_msg (pmt::pmt_t which_port, pmt::pmt_t msg) override dispatch_msg block_gateway::dispatch_msg dispatch_msg pmt::pmt_t which_port pmt::pmt_t msg
block_gateway
gr::basic_block
gr::block
gr::messages::msg_accepter
gr::msg_accepter
std::enable_shared_from_this< basic_block >
block_gateway
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::messages::msg_accepter
gr::msg_accepter
std::basic_string< Char >
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
std::shared_ptr< io_signature >
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::shared_ptr< rpcbasic_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
- block_gateway
  _add_item_tag
- block_gateway
  _add_item_tag
- block_gateway
  _get_logger
- block_gateway
  _get_tags_in_range
- block_gateway
  _get_tags_in_range
- block_gateway
  _get_tags_in_window
- block_gateway
  _get_tags_in_window
- block_gateway
  _post
- block_gateway
  active_thread_priority
- block_gateway
  add_item_tag
- block_gateway
  add_item_tag
- block_gateway
  alias
- block_gateway
  alias_pmt
- block_gateway
  alias_set
- block_gateway
  alignment
- block_gateway
  allocate_buffer
- block_gateway
  allocate_detail
- block_gateway
  basic_block
- block_gateway
  basic_block
- block_gateway
  BLACK
- block_gateway
  blkd_input_timer_value
- block_gateway
  block
- block_gateway
  block
- block_gateway
  block_gateway
- block_gateway
  check_topology
- block_gateway
  clear_finished
- block_gateway
  color
- block_gateway
  consume
- block_gateway
  consume_each
- block_gateway
  d_blkd_input_timer_value
- block_gateway
  d_color
- block_gateway
  d_debug_logger
- block_gateway
  d_input_signature
- block_gateway
  d_logger
- block_gateway
  d_max_output_buffer
- block_gateway
  d_message_subscribers
- block_gateway
  d_min_output_buffer
- block_gateway
  d_msg_handlers_pybind
- block_gateway
  d_name
- block_gateway
  d_output_signature
- block_gateway
  d_pmt_done
- block_gateway
  d_py_handle
- block_gateway
  d_rpc_set
- block_gateway
  d_rpc_vars
- block_gateway
  d_setlock
- block_gateway
  d_symbol_alias
- block_gateway
  d_symbol_name
- block_gateway
  d_symbolic_id
- block_gateway
  d_system_port
- block_gateway
  d_unique_id
- block_gateway
  declare_sample_delay
- block_gateway
  declare_sample_delay
- block_gateway
  delete_head_nowait
- block_gateway
  detail
- block_gateway
  dispatch_msg
- block_gateway
  empty_handled_p
- block_gateway
  empty_handled_p
- block_gateway
  empty_p
- block_gateway
  empty_p
- block_gateway
  enable_update_rate
- block_gateway
  erase_msg
- block_gateway
  expand_minmax_buffer
- block_gateway
  finished
- block_gateway
  fixed_rate
- block_gateway
  fixed_rate_ninput_to_noutput
- block_gateway
  fixed_rate_noutput_to_ninput
- block_gateway
  forecast
- block_gateway
  general_work
- block_gateway
  get_iterator
- block_gateway
  get_msg_map
- block_gateway
  get_tags_in_range
- block_gateway
  get_tags_in_range
- block_gateway
  get_tags_in_window
- block_gateway
  get_tags_in_window
- block_gateway
  GREY
- block_gateway
  has_msg_handler
- block_gateway
  has_msg_port
- block_gateway
  history
- block_gateway
  identifier
- block_gateway
  input_signature
- block_gateway
  insert_tail
- block_gateway
  is_pc_rpc_set
- block_gateway
  is_rpc_set
- block_gateway
  is_set_max_noutput_items
- block_gateway
  is_unaligned
- block_gateway
  log_level
- block_gateway
  make
- block_gateway
  max_noutput_items
- block_gateway
  max_output_buffer
- block_gateway
  message_port_is_hier
- block_gateway
  message_port_is_hier_in
- block_gateway
  message_port_is_hier_out
- block_gateway
  message_port_pub
- block_gateway
  message_port_register_in
- block_gateway
  message_port_register_out
- block_gateway
  message_port_sub
- block_gateway
  message_port_unsub
- block_gateway
  message_ports_in
- block_gateway
  message_ports_out
- block_gateway
  message_subscribers
- block_gateway
  min_noutput_items
- block_gateway
  min_output_buffer
- block_gateway
  mp_relative_rate
- block_gateway
  msg_accepter
- block_gateway
  msg_handlers_pybind_t
- block_gateway
  msg_queue
- block_gateway
  name
- block_gateway
  nitems_read
- block_gateway
  nitems_written
- block_gateway
  nmsgs
- block_gateway
  no_pc_rpc
- block_gateway
  notify_msg_neighbors
- block_gateway
  output_multiple
- block_gateway
  output_multiple_set
- block_gateway
  output_signature
- block_gateway
  pc_input_buffers_full
- block_gateway
  pc_input_buffers_full
- block_gateway
  pc_input_buffers_full_avg
- block_gateway
  pc_input_buffers_full_avg
- block_gateway
  pc_input_buffers_full_var
- block_gateway
  pc_input_buffers_full_var
- block_gateway
  pc_noutput_items
- block_gateway
  pc_noutput_items_avg
- block_gateway
  pc_noutput_items_var
- block_gateway
  pc_nproduced
- block_gateway
  pc_nproduced_avg
- block_gateway
  pc_nproduced_var
- block_gateway
  pc_output_buffers_full
- block_gateway
  pc_output_buffers_full
- block_gateway
  pc_output_buffers_full_avg
- block_gateway
  pc_output_buffers_full_avg
- block_gateway
  pc_output_buffers_full_var
- block_gateway
  pc_output_buffers_full_var
- block_gateway
  pc_throughput_avg
- block_gateway
  pc_work_time
- block_gateway
  pc_work_time_avg
- block_gateway
  pc_work_time_total
- block_gateway
  pc_work_time_var
- block_gateway
  post
- block_gateway
  processor_affinity
- block_gateway
  produce
- block_gateway
  relative_rate
- block_gateway
  relative_rate_d
- block_gateway
  relative_rate_i
- block_gateway
  remove_item_tag
- block_gateway
  remove_item_tag
- block_gateway
  replace_buffer
- block_gateway
  reset_perf_counters
- block_gateway
  rpc_set
- block_gateway
  sample_delay
- block_gateway
  set_alignment
- block_gateway
  set_blkd_input_timer_value
- block_gateway
  set_block_alias
- block_gateway
  set_color
- block_gateway
  set_detail
- block_gateway
  set_fixed_rate
- block_gateway
  set_history
- block_gateway
  set_input_signature
- block_gateway
  set_inverse_relative_rate
- block_gateway
  set_is_unaligned
- block_gateway
  set_log_level
- block_gateway
  set_max_noutput_items
- block_gateway
  set_max_output_buffer
- block_gateway
  set_max_output_buffer
- block_gateway
  set_min_noutput_items
- block_gateway
  set_min_output_buffer
- block_gateway
  set_min_output_buffer
- block_gateway
  set_msg_handler
- block_gateway
  set_msg_handler_pybind
- block_gateway
  set_output_multiple
- block_gateway
  set_output_signature
- block_gateway
  set_processor_affinity
- block_gateway
  set_relative_rate
- block_gateway
  set_relative_rate
- block_gateway
  set_tag_propagation_policy
- block_gateway
  set_thread_priority
- block_gateway
  set_unaligned
- block_gateway
  setup_pc_rpc
- block_gateway
  setup_rpc
- block_gateway
  shared_from_base
- block_gateway
  sptr
- block_gateway
  start
- block_gateway
  stop
- block_gateway
  symbol_name
- block_gateway
  symbolic_id
- block_gateway
  system_handler
- block_gateway
  tag_propagation_policy
- block_gateway
  tag_propagation_policy_t
- block_gateway
  thread_priority
- block_gateway
  to_basic_block
- block_gateway
  TPP_ALL_TO_ALL
- block_gateway
  TPP_CUSTOM
- block_gateway
  TPP_DONT
- block_gateway
  TPP_ONE_TO_ONE
- block_gateway
  unaligned
- block_gateway
  unique_id
- block_gateway
  unset_max_noutput_items
- block_gateway
  unset_processor_affinity
- block_gateway
  update_rate
- block_gateway
  vcolor
- block_gateway
  WHITE
- block_gateway
  WORK_CALLED_PRODUCE
- block_gateway
  WORK_DONE
- block_gateway
  work_return_t
- block_gateway
  ~basic_block
- block_gateway
  ~block
- block_gateway
  ~msg_accepter