Application

Application is the upper RSSI stream endpoint. It carries payload frames between user protocol layers and the RSSI controller.

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

typedef std::shared_ptr<rogue::protocols::rssi::Application> rogue::protocols::rssi::ApplicationPtr

The class description is shown below:

class Application : public rogue::interfaces::stream::Master, public rogue::interfaces::stream::Slave

RSSI application-side endpoint.

Provides stream ingress/egress for payload traffic through the RSSI stack.

Threading model:

Lifetime contract:

  • setController() must be called before destruction so the TX thread is created and can be cleanly stopped/joined.

Public Functions

Application()

Constructs an RSSI application endpoint.

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

~Application()

Destroys the application endpoint.

void setController(std::shared_ptr<rogue::protocols::rssi::Controller> cntl)

Attaches the RSSI controller.

Stores controller reference and starts outbound worker thread.

Parameters:

cntlController instance that owns protocol state.

virtual std::shared_ptr<rogue::interfaces::stream::Frame> acceptReq(uint32_t size, bool zeroCopyEn)

Allocates a frame for upstream writers.

Called by the stream master side of this endpoint.

Parameters:
  • size – Minimum requested payload size in bytes.

  • zeroCopyEn – Zero-copy hint (not used by RSSI application path).

Returns:

Newly allocated frame.

virtual void acceptFrame(std::shared_ptr<rogue::interfaces::stream::Frame> frame)

Accepts a frame from upstream application logic.

Parameters:

frame – Input frame for RSSI transmission.

Public Static Functions

static std::shared_ptr<rogue::protocols::rssi::Application> create()

Creates an RSSI application endpoint.

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.

Returns:

Shared pointer to the created application endpoint.

static void setup_python()

Registers Python bindings for this class.