GNU Radio Manual and C++ API Reference  3.10.7.0
The Free & Open Software Radio Ecosystem
gr::pdu Namespace Reference

Classes

class  add_system_time
 Adds system time to a PDU's metadataAdds a user specified key to PDU dict containing the system time in seconds since unix epoch. More...
 
class  pdu_filter
 Propagates only pdus containing k=>v in meta. More...
 
class  pdu_remove
 remove key k in pdu's meta field and pass on More...
 
class  pdu_set
 Set k=>v in pdu's meta field and pass on. More...
 
class  pdu_split
 Split PDU dict and data to separate portsSplits a PDU into its metadata dictionary and vector, outputs nothing if the input message is not a PDU. Useful for stripping metadata out for printing or saving. More...
 
class  pdu_to_stream
 Emit a PDU data as a simple GR stream. More...
 
class  pdu_to_tagged_stream
 Turns received PDUs into a tagged stream of items. More...
 
class  random_pdu
 Sends a random PDU at intervals. More...
 
class  tagged_stream_to_pdu
 Turns received stream data and tags into PDUs and sends them through a message port.The sent message is a PMT-pair (created by pmt::cons()). The first element is a dictionary containing all the tags. The second is a vector containing the actual data. More...
 
class  tags_to_pdu
 Tags to PDUThis block will generate a PDU (of up to Max PDU Size) based on input tags. No tag alignment in input buffer is necessary. More...
 
class  take_skip_to_pdu
 Extract periodic PDUs from a data stream.This block will generate PDUs of size TAKE skipping SKIP samples between. More...
 
class  time_delta
 Compute system time differences and provide statistics upon completion.This block computes the difference between the current system time and a defined PDU key previously added (e.g.: by by the add_system_time block). This is useful for benchmarking PDU operations. The block also maintains running estimates of mean and variance, accessible by getters and printed when the flowgraph is stopped. More...
 

Typedefs

typedef pdu_to_stream< unsigned char > pdu_to_stream_b
 
typedef pdu_to_stream< short > pdu_to_stream_s
 
typedef pdu_to_stream< short > pdu_to_stream_i
 
typedef pdu_to_stream< float > pdu_to_stream_f
 
typedef pdu_to_stream< gr_complexpdu_to_stream_c
 
typedef tags_to_pdu< unsigned char > tags_to_pdu_b
 
typedef tags_to_pdu< short > tags_to_pdu_s
 
typedef tags_to_pdu< int > tags_to_pdu_i
 
typedef tags_to_pdu< float > tags_to_pdu_f
 
typedef tags_to_pdu< gr_complextags_to_pdu_c
 
typedef take_skip_to_pdu< unsigned char > take_skip_to_pdu_b
 
typedef take_skip_to_pdu< short > take_skip_to_pdu_s
 
typedef take_skip_to_pdu< int > take_skip_to_pdu_i
 
typedef take_skip_to_pdu< float > take_skip_to_pdu_f
 
typedef take_skip_to_pdu< gr_complextake_skip_to_pdu_c
 

Enumerations

enum  early_pdu_behavior_t { EARLY_BURST_APPEND = 0, EARLY_BURST_DROP, EARLY_BURST_BALK }
 

Functions

GR_RUNTIME_API size_t itemsize (types::vector_type type)
 
GR_RUNTIME_API bool type_matches (types::vector_type type, pmt::pmt_t v)
 
GR_RUNTIME_API pmt::pmt_t make_pdu_vector (types::vector_type type, const uint8_t *buf, size_t items)
 
GR_RUNTIME_API types::vector_type type_from_pmt (pmt::pmt_t vector)
 

Typedef Documentation

◆ pdu_to_stream_b

typedef pdu_to_stream<unsigned char> gr::pdu::pdu_to_stream_b

◆ pdu_to_stream_c

◆ pdu_to_stream_f

◆ pdu_to_stream_i

◆ pdu_to_stream_s

◆ tags_to_pdu_b

typedef tags_to_pdu<unsigned char> gr::pdu::tags_to_pdu_b

◆ tags_to_pdu_c

◆ tags_to_pdu_f

◆ tags_to_pdu_i

◆ tags_to_pdu_s

◆ take_skip_to_pdu_b

◆ take_skip_to_pdu_c

◆ take_skip_to_pdu_f

◆ take_skip_to_pdu_i

◆ take_skip_to_pdu_s

Enumeration Type Documentation

◆ early_pdu_behavior_t

Enumerator
EARLY_BURST_APPEND 
EARLY_BURST_DROP 
EARLY_BURST_BALK 

Function Documentation

◆ itemsize()

GR_RUNTIME_API size_t gr::pdu::itemsize ( types::vector_type  type)

◆ make_pdu_vector()

GR_RUNTIME_API pmt::pmt_t gr::pdu::make_pdu_vector ( types::vector_type  type,
const uint8_t *  buf,
size_t  items 
)

◆ type_from_pmt()

GR_RUNTIME_API types::vector_type gr::pdu::type_from_pmt ( pmt::pmt_t  vector)

◆ type_matches()

GR_RUNTIME_API bool gr::pdu::type_matches ( types::vector_type  type,
pmt::pmt_t  v 
)