Application

Application is the upper RSSI stream endpoint. It carries payload frames between user protocol layers and the RSSI controller. For conceptual guidance, see RSSI Protocol.

Python binding

This C++ class is also exported into Python as rogue.protocols.rssi.Application.

Python API page: - Application

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

typedef std::shared_ptr<rogue::protocols::rssi::Application> rogue::protocols::rssi::ApplicationPtr
[header]

The class description is shown below:

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

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()
[header] [impl]

Constructs an RSSI application endpoint.

Creator.

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

~Application()
[header] [impl]

Destroys the application endpoint.

Destructor.

void setController(std::shared_ptr<rogue::protocols::rssi::Controller> cntl)
[header] [impl]

Attaches the RSSI controller.

Setup links.

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)
[header] [impl]

Allocates a frame for upstream writers.

Generate a Frame. Called from master.

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)
[header] [impl]

Accepts a frame from upstream application logic.

Accept a frame from master.

Parameters:

frame – Input frame for RSSI transmission.

Public Static Functions

static std::shared_ptr<rogue::protocols::rssi::Application> create()
[header] [impl]

Creates an RSSI application endpoint.

Class creation.

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: RSSI Port

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.

Returns:

Shared pointer to the created application endpoint.

static void setup_python()
[header] [impl]

Registers Python bindings for this class.