Filter

For conceptual usage, see:

Python binding

This C++ class is also exported into Python as rogue.interfaces.stream.Filter.

Python API page: - Filter

objects in C++ are referenced by the following shared pointer typedef:

typedef std::shared_ptr<rogue::interfaces::stream::Filter> rogue::interfaces::stream::FilterPtr
[header]

Shared pointer alias for Filter.

The class description is shown below:

class Filter : public rogue::interfaces::stream::Master, public rogue::interfaces::stream::Slave
[header]

Stream frame filter by channel and error state.

Used when frames may carry non-zero channel numbers (for example from data-file readers or batcher splitters). The filter forwards only matching-channel frames and can optionally drop frames marked with errors.

Public Functions

Filter(bool dropErrors, uint8_t channel)
[header] [impl]

Constructs a stream filter.

Creator with version constant.

This constructor is a low-level C++ allocation path. Prefer create() when shared ownership or Python exposure is required.

Parameters:
  • dropErrors – Set to true to drop frames with error flags.

  • channel – Channel number to allow through the filter.

~Filter()
[header] [impl]

Destroys the stream filter.

Deconstructor.

virtual void acceptFrame(std::shared_ptr<rogue::interfaces::stream::Frame> frame)
[header] [impl]

Receives a frame from upstream and applies filter rules.

Accept a frame from master.

Parameters:

frameFrame to evaluate and potentially forward.

Public Static Functions

static std::shared_ptr<rogue::interfaces::stream::Filter> create(bool dropErrors, uint8_t channel)
[header] [impl]

Creates a stream filter.

Class creation.

Parameter semantics are identical to the constructor; see Filter() for filter behavior details. This static factory is the preferred construction path when the object is shared across Rogue graph connections or exposed to Python. It returns std::shared_ptr ownership compatible with Rogue pointer typedefs.

Company : SLAC National Accelerator Laboratory

Description : AXI Stream

This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE.txt file.

Parameters:
  • dropErrors – Set to true to drop frames with error flags.

  • channel – Channel number to allow through the filter.

Returns:

Shared pointer to the created filter.

static void setup_python()
[header] [impl]

Registers this type with Python bindings.

Setup class in python.