XTC2Traits
XTC2Traits
Section titled “XTC2Traits”#include <sbio/formats/xtc2/xtc2_traits.hh>struct XTC2TraitsDefined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:74
Inherits:
BaseTraits
Public Static Attributes
Section titled “Public Static Attributes”| Return | Name | Description |
|---|---|---|
constexpr std::size_t |
HeaderSize static constexpr |
|
constexpr std::uint16_t |
MaxRank static constexpr |
|
constexpr std::uint16_t |
MaxNameSize static constexpr |
|
constexpr StreamPartitioningStrategy |
PartitioningStrategy static constexpr |
|
constexpr std::size_t |
DataAccessPtnCount static constexpr |
|
constexpr std::size_t |
NumStepKinds static constexpr |
|
constexpr StepIdxType |
ExhaustedSentinel static constexpr |
HeaderSize
Section titled “HeaderSize”static constexpr
constexpr std::size_t HeaderSize { 24 }Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:81
MaxRank
Section titled “MaxRank”static constexpr
constexpr std::uint16_t MaxRank { 10 }Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:82
MaxNameSize
Section titled “MaxNameSize”static constexpr
constexpr std::uint16_t MaxNameSize { 256 }Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:83
PartitioningStrategy
Section titled “PartitioningStrategy”static constexpr
constexpr StreamPartitioningStrategy PartitioningStrategy { StreamPartitioningStrategy::SubDivide }Type: constexpr StreamPartitioningStrategy
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:88
DataAccessPtnCount
Section titled “DataAccessPtnCount”static constexpr
constexpr std::size_t DataAccessPtnCount { 3 }Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:106
NumStepKinds
Section titled “NumStepKinds”static constexpr
constexpr std::size_t NumStepKinds { static_cast<std::size_t>(StepKind::L1Accept) + 1 }Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:124
ExhaustedSentinel
Section titled “ExhaustedSentinel”static constexpr
constexpr StepIdxType ExhaustedSentinel { static_cast<StepIdxType>(-1) }Type: constexpr StepIdxType
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:128
Public Static Methods
Section titled “Public Static Methods”| Return | Name | Description |
|---|---|---|
SBIO_HD std::size_t |
get_payload_size static inline |
|
SBIO_HD void |
discover_metadata static |
|
SBIO_HDDataResult |
resolve_data static |
|
SBIO_HDAllocationRequest< XTC2Traits > |
get_allocation_request static inline |
|
SBIO_HDIOStatus |
discover_metadata static inline |
|
SBIO_HD constexpr StepKind |
kind_for_ptn static inline constexpr |
|
SBIO_HD std::optional< StepKind > |
kind_for_step static inline |
|
SBIO_HD std::size_t |
locate_bytes static inline |
|
SBIO_HDByteRegion |
locate_step static inline |
|
SBIO_HDDataResult |
get_data_in_buffer static inline |
get_payload_size
Section titled “get_payload_size”static inline
static inline SBIO_HD std::size_t get_payload_size(void * buf)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:163
discover_metadata
Section titled “discover_metadata”static
static SBIO_HD void discover_metadata(DataUnit * buffer, MetadataInventory< XTC2Traits > & inv, std::size_t offset)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:167
resolve_data
Section titled “resolve_data”static
static SBIO_HDDataResult resolve_data(void * buffer, const MetadataInventory< XTC2Traits > & inv, const DataRequest & req, PayloadOffsetCache & cache)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:171
get_allocation_request
Section titled “get_allocation_request”static inline
static inline SBIO_HDAllocationRequest< XTC2Traits > get_allocation_request(GenericStreamConfig< XTC2Traits > & cfg)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:176
discover_metadata
Section titled “discover_metadata”static inline
template<IOTraits IO, class StorageViewT> static inline SBIO_HDIOStatus discover_metadata(Stream< IO, XTC2Traits > * streams, StorageViewT & storage, MetadataInventory< XTC2Traits > & inv)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:190
kind_for_ptn
Section titled “kind_for_ptn”static inline constexpr
constexpr static inline SBIO_HD constexpr StepKind kind_for_ptn(DataAccessPtn ptn)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:212
kind_for_step
Section titled “kind_for_step”static inline
static inline SBIO_HD std::optional< StepKind > kind_for_step(const DataUnit * step_data)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:220
locate_bytes
Section titled “locate_bytes”static inline
static inline SBIO_HD std::size_t locate_bytes(const DataUnit * dg)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:243
locate_step
Section titled “locate_step”static inline
static inline SBIO_HDByteRegion locate_step(const DataUnit * dg, StepKind kind, std::uint32_t scanned_stream, std::uint64_t scan_offset)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:253
get_data_in_buffer
Section titled “get_data_in_buffer”static inline
template<class StorageViewT> static inline SBIO_HDDataResult get_data_in_buffer(StorageViewT & storage, const MetadataInventory< XTC2Traits > & inv, const DataRequest & req, PayloadOffsetCache & cache, DataAccessPtn ptn, std::size_t batch_idx = 0)Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:280
Public Types
Section titled “Public Types”| Name | Description |
|---|---|
DataAccessPtn |
|
StepKind |
|
DefaultLocator |
|
StreamTypes |
|
DataUnit |
|
StepIdxType |
|
BrokerBufferRequirements |
Specify all the buffers that are required to implement a reader of XTC2. We need to hold: |
RequestSchema |
|
DataRequest |
|
GroupKeys |
DataAccessPtn
Section titled “DataAccessPtn”enum DataAccessPtnDefined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:101
| Value | Description |
|---|---|
L1Accept |
|
SlowUpdate |
|
BeginStep |
StepKind
Section titled “StepKind”enum StepKindDefined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:108
| Value | Description |
|---|---|
ClearReadout |
|
Reset |
|
Configure |
|
Unconfigure |
|
BeginRun |
|
EndRun |
|
BeginStep |
|
EndStep |
|
Enable |
|
Disable |
|
SlowUpdate |
|
Unused |
|
L1Accept |
DefaultLocator
Section titled “DefaultLocator”using DefaultLocator = PathPatternLocatorType: PathPatternLocator
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:75
StreamTypes
Section titled “StreamTypes”using StreamTypes = StreamSet< SMD, BD >Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:98
DataUnit
Section titled “DataUnit”using DataUnit = XTC2::DgramType: XTC2::Dgram
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:126
StepIdxType
Section titled “StepIdxType”using StepIdxType = std::size_tDefined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:127
BrokerBufferRequirements
Section titled “BrokerBufferRequirements”using BrokerBufferRequirements = RequirementsList< BufferDescriptor< roles::Metadata, 0, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 0, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 1, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 2, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Index, index_ids::Steps >, BufferDescriptor< roles::Metadata, index_ids::Scratch > >Type: RequirementsList< BufferDescriptor< roles::Metadata, 0, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 0, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 1, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Data, 2, sizeof(XTC2::Dgram)>, BufferDescriptor< roles::Index, index_ids::Steps >, BufferDescriptor< roles::Metadata, index_ids::Scratch > >
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:143
Specify all the buffers that are required to implement a reader of XTC2. We need to hold:
- Transition datagrams
- Event datagrams
- Event offsets
- Transition offsets
The execution policy will determine how to fulfill allocation and synchronization of these requested buffers.
RequestSchema
Section titled “RequestSchema”using RequestSchema = sbio::NamedKeys<"alg", "field">Type: sbio::NamedKeys<“alg”, “field”>
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:152
DataRequest
Section titled “DataRequest”using DataRequest = sbio::DataRequest< RequestSchema >Type: sbio::DataRequest< RequestSchema >
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:153
GroupKeys
Section titled “GroupKeys”using GroupKeys = sbio::NamedKeys<"serial_number">Type: sbio::NamedKeys<“serial_number”>
Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:155