gr::digital::protocol_formatter_async
gr::block
gnuradio/digital/protocol_formatter_async.h
std::shared_ptr< protocol_formatter_async > std::shared_ptr<protocol_formatter_async> gr::digital::protocol_formatter_async::sptr sptr gr::digital::protocol_formatter_async::sptr
sptr static sptr gr::digital::protocol_formatter_async::make (const header_format_base::sptr &format) make gr::digital::protocol_formatter_async::make const header_format_base::sptr & format

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

format

The format object to use when creating the header for the packet.

Uses a header format object to append a header onto a PDU.

This block takes in PDUs and creates a header, generally for MAC-level processing. Each received PDU 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 out of the 'header' message port as a PDU. 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 PDU as a PMT argument along with any changes to the metadata info PMT.

For different packet header formatting needs, we can define new classes that inherit from the header_format_base block and which overload the header_format_base::format function.

header_format_base

header_format_default

header_format_counter

This block only uses asynchronous message passing interfaces to receiver and emit PDUs. The message ports are:

- in: receives PDUs for the frame payload

- header: the header formatted for the given frame

- payload: the payload

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