GNU Radio 3.7.2git-29-g7516b6dd C++ API
gr::digital::crc32_bb Class Reference

Byte-stream CRC block. More...

#include <crc32_bb.h>

Inheritance diagram for gr::digital::crc32_bb:
gr::tagged_stream_block gr::block gr::basic_block gr::msg_accepter gr::messages::msg_accepter

Public Types

typedef boost::shared_ptr
< crc32_bb
sptr

Static Public Member Functions

static sptr make (bool check=false, const std::string &lengthtagname="packet_len")

Additional Inherited Members

- Public Member Functions inherited from gr::tagged_stream_block
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Don't override this.
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
virtual int work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)=0
 Just like gr::block::general_work, but makes sure the input is valid.
- Protected Types inherited from gr::basic_block
enum  vcolor { WHITE, GREY, BLACK }
- Protected Member Functions inherited from gr::tagged_stream_block
 tagged_stream_block (void)
 tagged_stream_block (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature, const std::string &length_tag_key)
virtual void parse_length_tags (const std::vector< std::vector< tag_t > > &tags, gr_vector_int &n_input_items_reqd)
 Parse all tags on the first sample of a PDU, return the number of items per input and prune the length tags.
virtual int calculate_output_stream_length (const gr_vector_int &ninput_items)
 Calculate the number of output items.
virtual void update_length_tags (int n_produced, int n_ports)
 Set the new length tags on the output stream.
- Protected Attributes inherited from gr::tagged_stream_block
std::string d_length_tag_key_str

Detailed Description

Byte-stream CRC block.

Input: stream of bytes, which form a packet. The first byte of the packet has a tag with key "length" and the value being the number of bytes in the packet.

Output: The same bytes as incoming, but trailing a CRC32 of the packet. The tag is re-set to the new length.

Member Typedef Documentation

Member Function Documentation

static sptr gr::digital::crc32_bb::make ( bool  check = false,
const std::string &  lengthtagname = "packet_len" 
)
static
Parameters
checkSet to true if you want to check CRC, false to create CRC.
lengthtagnameLength tag key

The documentation for this class was generated from the following file: