ControllerV1
ControllerV1 is the packetizer v1 controller implementation used by
Core.
This page is reference-only; for version-selection guidance see
Packetizer Protocol Core.
ControllerV1 objects in C++ are referenced by the following shared pointer typedef:
-
typedef std::shared_ptr<rogue::protocols::packetizer::ControllerV1> rogue::protocols::packetizer::ControllerV1Ptr
[header]
The class description is shown below:
-
class ControllerV1 : public rogue::protocols::packetizer::Controller, public rogue::EnableSharedFromThis<rogue::protocols::packetizer::ControllerV1>
[header] Packetizer controller implementation for protocol v1.
Implements packetizer v1 frame parsing and assembly between the transport endpoint and per-destination application endpoints.
Public Functions
Constructs a packetizer v1 controller.
Creator.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.- Parameters:
enSsi – Enable SSI framing behavior.
tran – Transport endpoint attached to this controller.
app – Pointer to array of application endpoints indexed by destination.
Processes a frame received at the transport interface.
Frame received at transport interface.
- Parameters:
frame – Transport frame to decode and route.
Processes a frame received from one application endpoint.
Frame received at application interface.
- Parameters:
frame – Application frame to packetize.
id – Application/destination identifier.
Public Static Functions
Creates a packetizer v1 controller.
Class creation.
Parameter semantics are identical to the constructor; see
ControllerV1()for construction-path 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 V1
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:
enSsi – Enable SSI framing behavior.
tran – Transport endpoint attached to this controller.
app – Pointer to array of application endpoints indexed by destination.
- Returns:
Shared pointer to a new controller instance.