rogue
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
rogue::protocols::batcher::Data Class Reference

Parsed batcher record descriptor. More...

#include <Data.h>

Public Member Functions

 Data (rogue::interfaces::stream::FrameIterator it, uint32_t size, uint8_t dest, uint8_t fUser, uint8_t lUser)
 Constructs a parsed record descriptor.
 
 ~Data ()
 Destroys the record descriptor.
 
rogue::interfaces::stream::FrameIterator begin ()
 Returns iterator to beginning of payload.
 
rogue::interfaces::stream::FrameIterator end ()
 Returns iterator to end of payload.
 
uint32_t size ()
 Returns payload size.
 
uint8_t dest ()
 Returns destination/channel value.
 
uint8_t fUser ()
 Returns first-user metadata.
 
uint8_t lUser ()
 Returns last-user metadata.
 

Static Public Member Functions

static void setup_python ()
 Registers Python bindings for this class.
 
static std::shared_ptr< rogue::protocols::batcher::Datacreate (rogue::interfaces::stream::FrameIterator it, uint32_t size, uint8_t dest, uint8_t fUser, uint8_t lUser)
 Creates a parsed record descriptor.
 

Detailed Description

Parsed batcher record descriptor.

Data represents one record extracted from a batcher super-frame by CoreV1 or CoreV2. It stores:

SplitterV1 and SplitterV2 consume Data objects from CoreV1/CoreV2 to build and emit individual output frames.

Protocol references:

Definition at line 49 of file Data.h.

Constructor & Destructor Documentation

◆ Data()

rogue::protocols::batcher::Data::Data ( rogue::interfaces::stream::FrameIterator  it,
uint32_t  size,
uint8_t  dest,
uint8_t  fUser,
uint8_t  lUser 
)

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
itIterator to beginning of record payload.
sizeRecord payload size in bytes.
destDestination/channel field.
fUserFirst-user metadata byte.
lUserLast-user metadata byte.

Definition at line 40 of file Data.cpp.

◆ ~Data()

rogue::protocols::batcher::Data::~Data ( )

Destroys the record descriptor.

Deconstructor.

Definition at line 49 of file Data.cpp.

Member Function Documentation

◆ begin()

rogue::interfaces::stream::FrameIterator rogue::protocols::batcher::Data::begin ( )

Returns iterator to beginning of payload.

Return Begin Data Iterator.

Returns
Payload-begin iterator.

Definition at line 52 of file Data.cpp.

◆ create()

rogue::protocols::batcher::DataPtr rogue::protocols::batcher::Data::create ( rogue::interfaces::stream::FrameIterator  it,
uint32_t  size,
uint8_t  dest,
uint8_t  fUser,
uint8_t  lUser 
)
static

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 returns std::shared_ptr ownership compatible with Rogue pointer typedefs.

Parameters
itIterator to beginning of record payload.
sizeRecord payload size in bytes.
destDestination/channel field.
fUserFirst-user metadata byte.
lUserLast-user metadata byte.
Returns
Shared pointer to the created record descriptor.

Company : SLAC National Accelerator Laboratory

Description:

SLAC Batcher Data

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.

Definition at line 31 of file Data.cpp.

◆ dest()

uint8_t rogue::protocols::batcher::Data::dest ( )

Returns destination/channel value.

Return Data destination.

Returns
Destination/channel field.

Definition at line 67 of file Data.cpp.

◆ end()

rogue::interfaces::stream::FrameIterator rogue::protocols::batcher::Data::end ( )

Returns iterator to end of payload.

Return End Data Iterator.

Returns
Payload-end iterator.

Definition at line 57 of file Data.cpp.

◆ fUser()

uint8_t rogue::protocols::batcher::Data::fUser ( )

Returns first-user metadata.

Return First user.

Returns
First-user byte.

Definition at line 72 of file Data.cpp.

◆ lUser()

uint8_t rogue::protocols::batcher::Data::lUser ( )

Returns last-user metadata.

Return Last user.

Returns
Last-user byte.

Definition at line 77 of file Data.cpp.

◆ setup_python()

void rogue::protocols::batcher::Data::setup_python ( )
static

Registers Python bindings for this class.

Setup class in python.

Definition at line 37 of file Data.cpp.

◆ size()

uint32_t rogue::protocols::batcher::Data::size ( )

Returns payload size.

Return Data Size.

Returns
Payload size in bytes.

Definition at line 62 of file Data.cpp.


The documentation for this class was generated from the following files: