Application
Application is the per-destination packetizer endpoint used by upper-layer
protocol/application stream paths.
This page is reference-only; for conceptual context see
Packetizer Protocol.
Python binding
This C++ class is also exported into Python as rogue.protocols.packetizer.Application.
Python API page: - Application
objects in C++ are referenced by the following shared pointer typedef:
-
typedef std::shared_ptr<rogue::protocols::packetizer::Application> rogue::protocols::packetizer::ApplicationPtr
[header]
The class description is shown below:
-
class Application : public rogue::interfaces::stream::Master, public rogue::interfaces::stream::Slave
[header] Packetizer application endpoint.
Provides per-destination stream ingress/egress into the packetizer stack.
Public Functions
-
explicit Application(uint8_t id)
[header] [impl] Constructs a packetizer application endpoint.
Creator.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.- Parameters:
id – Destination/application ID.
Attaches the packetizer controller.
Setup links.
- Parameters:
cntl – Controller instance that handles packetizer state.
Queues a frame for packetized transmission.
Push frame for transmit.
- Parameters:
frame – Frame to send through this application channel.
-
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 – True to allow zero-copy allocation when possible.
- Returns:
Newly allocated frame.
Accepts a frame from upstream application logic.
Accept a frame from master.
- Parameters:
frame – Input frame to packetize.
Public Static Functions
-
static std::shared_ptr<rogue::protocols::packetizer::Application> create(uint8_t id)
[header] [impl] Creates a packetizer application endpoint.
Class creation.
Parameter semantics are identical to the constructor; see
Application()for endpoint-construction details. This static factory is the preferred construction path when the object is shared across Rogue graph connections or exposed to Python. It returnsstd::shared_ptrownership compatible with Rogue pointer typedefs.Company : SLAC National Accelerator Laboratory
Description: Packetizer 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.
- Parameters:
id – Destination/application ID.
- Returns:
Shared pointer to the created application endpoint.
-
explicit Application(uint8_t id)