Transport
Transport is the lower packetizer endpoint that bridges packetizer frames
to and from the underlying stream transport.
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.Transport.
Python API page: - Transport
objects in C++ are referenced by the following shared pointer typedef:
-
typedef std::shared_ptr<rogue::protocols::packetizer::Transport> rogue::protocols::packetizer::TransportPtr
[header]
The class description is shown below:
-
class Transport : public rogue::interfaces::stream::Master, public rogue::interfaces::stream::Slave
[header] Packetizer transport endpoint.
Bridges raw stream traffic to/from the packetizer controller.
Threading model:
Inbound frames are handled synchronously by
acceptFrame(), which forwards each frame toController::transportRx().Outbound frames are produced by a dedicated background thread started in
setController(). That thread drainsController::transportTx()and forwards returned frames viasendFrame().
Lifetime contract:
setController()must be called before destruction so the TX queue thread can be started/stopped against a valid controller.
Public Functions
-
Transport()
[header] [impl] Constructs a packetizer transport endpoint.
Creator.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.
Attaches the packetizer controller.
Setup links.
Stores the controller reference and starts the outbound worker thread that forwards controller-generated transport frames.
- Parameters:
cntl – Controller instance that handles packetizer protocol processing.
Accepts a frame from the upstream stream interface.
Accept a frame from master.
- Parameters:
frame – Input frame to decode and forward to controller logic.
Public Static Functions
-
static std::shared_ptr<rogue::protocols::packetizer::Transport> create()
[header] [impl] Creates a packetizer transport 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_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.
- Returns:
Shared pointer to the created transport endpoint.