gr::digital::protocol_formatter_bb
gr::tagged_stream_block
gnuradio/digital/protocol_formatter_bb.h
std::shared_ptr< protocol_formatter_bb > std::shared_ptr<protocol_formatter_bb> gr::digital::protocol_formatter_bb::sptr sptr gr::digital::protocol_formatter_bb::sptr
sptr static sptr gr::digital::protocol_formatter_bb::make (const header_format_base::sptr &format, const std::string &len_tag_key="packet_len") make gr::digital::protocol_formatter_bb::make const header_format_base::sptr & format const std::string & len_tag_key "packet_len"

Make a packet header block using a given `format`.

format

The format object to use when creating the header for the packet. Derived from the header_format_base class.

len_tag_key

The tagged stream length key.

void virtual void gr::digital::protocol_formatter_bb::set_header_format (header_format_base::sptr &format)=0 set_header_format gr::digital::protocol_formatter_bb::set_header_format header_format_base::sptr & format

Uses a header format object to create a header from a tagged stream packet.

This block takes in tagged stream and creates a header, generally for MAC-level processing. Each received tagged stream is assumed to be its own frame, so any fragmentation would be done upstream in or before the flowgraph.

The header that is created and transmitted from this block. The payload should then be sent as a parallel tagged stream to be muxed together later. The header is based entirely on the `format` object, which is an object derived from the header_format_base class. All of these packet header format objects operate the same: they take in the payload data as well as possible extra metadata info about the PDU; the format object then returns the output and metadata info. This block then transmits the header vector and attaches and metadata as tags at the start of the header.

protocol_formatter_async

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