Data
Data describes one parsed record in a Batcher super-frame, including
payload iterator range and per-record metadata (destination and user bytes).
It is produced by CoreV1/CoreV2 and consumed by SplitterV1/SplitterV2.
For conceptual guidance, see Batcher Protocol.
Data objects in C++ are referenced by the following shared pointer typedef:
-
typedef std::shared_ptr<rogue::protocols::batcher::Data> rogue::protocols::batcher::DataPtr
[header]
The class description is shown below:
-
class Data
[header] Parsed batcher record descriptor.
Datarepresents one record extracted from a batcher super-frame byCoreV1orCoreV2. It stores:Iterators delimiting the payload bytes in the original frame.
Per-record routing/control fields (
dest,fUser,lUser).
SplitterV1andSplitterV2consumeDataobjects fromCoreV1/CoreV2to build and emit individual output frames.Protocol references:
Batcher v1: https://confluence.slac.stanford.edu/x/th1SDg
Batcher v2: https://confluence.slac.stanford.edu/x/L2VlK
Public Functions
-
Data(rogue::interfaces::stream::FrameIterator it, uint32_t size, uint8_t dest, uint8_t fUser, uint8_t lUser)
[header] [impl] Constructs a parsed record descriptor.
Creator with version constant.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.- Parameters:
it – Iterator to beginning of record payload.
size – Record payload size in bytes.
dest – Destination/channel field.
fUser – First-user metadata byte.
lUser – Last-user metadata byte.
-
rogue::interfaces::stream::FrameIterator begin()
[header] [impl] Returns iterator to beginning of payload.
Return Begin Data Iterator.
- Returns:
Payload-begin iterator.
-
rogue::interfaces::stream::FrameIterator end()
[header] [impl] Returns iterator to end of payload.
Return End Data Iterator.
- Returns:
Payload-end iterator.
-
uint32_t size()
[header] [impl] Returns payload size.
Return Data Size.
- Returns:
Payload size in bytes.
-
uint8_t dest()
[header] [impl] Returns destination/channel value.
Return Data destination.
- Returns:
Destination/channel field.
Public Static Functions
-
static void setup_python()
[header] [impl] Registers Python bindings for this class.
Setup class in python.
-
static std::shared_ptr<rogue::protocols::batcher::Data> create(rogue::interfaces::stream::FrameIterator it, uint32_t size, uint8_t dest, uint8_t fUser, uint8_t lUser)
[header] [impl] Creates a parsed record descriptor.
Class creation.
Parameter semantics are identical to the constructor; see
Data()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: SLAC Batcher
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:
it – Iterator to beginning of record payload.
size – Record payload size in bytes.
dest – Destination/channel field.
fUser – First-user metadata byte.
lUser – Last-user metadata byte.
- Returns:
Shared pointer to the created record descriptor.