FrameDecoder#

The purpose of the FrameDecoder is to gather incoming packets or messages from a data stream, perform minimal work to construct a single data blob in shared memory for the FrameProcessor to handle further processing.

This class defines a few virtual methods to be implemented by concrete implementations. Some are pure virtual - annotated with * - and some are optional. These are:

There is generic support for UDP and ZMQ data streams that a decoder plugin can be built on top of, depending on the use case. These are FrameDecoderUDP and FrameDecoderZMQ, each a child of FrameDecoder. They must be paired with the FrameReceiverUDPRxThread and FrameReceiverUDPRxThread respectively (e.g. setting the rx_type config to udp). Both extend the base class and add further virtual methods to be implemented in a concrete decoder.

FrameDecoderUDP#

FrameDecoderZMQ#