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:
Inbound application frames are handled synchronously in
acceptFrame()and forwarded toController::applicationRx().Outbound application frames are produced by a background thread started in
setController()and drained fromController::applicationTx().
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.
Attaches the RSSI controller.
Stores controller reference and starts outbound worker thread.
- Parameters:
cntl – Controller 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.
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_ptrownership compatible with Rogue pointer typedefs.- Returns:
Shared pointer to the created application endpoint.
-
static void setup_python()
Registers Python bindings for this class.