Skip to content

XTC2Traits

#include <sbio/formats/xtc2/xtc2_traits.hh>
struct XTC2Traits

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:74

Inherits: BaseTraits

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

static constexpr

constexpr std::size_t HeaderSize { 24 }

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:81


static constexpr

constexpr std::uint16_t MaxRank { 10 }

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:82


static constexpr

constexpr std::uint16_t MaxNameSize { 256 }

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:83


static constexpr

constexpr StreamPartitioningStrategy PartitioningStrategy {
StreamPartitioningStrategy::SubDivide
}

Type: constexpr StreamPartitioningStrategy

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:88


static constexpr

constexpr std::size_t DataAccessPtnCount { 3 }

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:106


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


static constexpr

constexpr StepIdxType ExhaustedSentinel { static_cast<StepIdxType>(-1) }

Type: constexpr StepIdxType

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:128

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

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


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


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


static inline

static inline SBIO_HDAllocationRequest< XTC2Traits > get_allocation_request(GenericStreamConfig< XTC2Traits > & cfg)

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:176


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


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


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


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


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


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

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

enum DataAccessPtn

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:101

Value Description
L1Accept
SlowUpdate
BeginStep

enum StepKind

Defined 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

using DefaultLocator = PathPatternLocator

Type: PathPatternLocator

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:75


using StreamTypes = StreamSet< SMD, BD >

Type: StreamSet< SMD, BD >

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:98


using DataUnit = XTC2::Dgram

Type: XTC2::Dgram

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:126


using StepIdxType = std::size_t

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:127


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:

  1. Transition datagrams
  2. Event datagrams
  3. Event offsets
  4. Transition offsets

The execution policy will determine how to fulfill allocation and synchronization of these requested buffers.


using RequestSchema = sbio::NamedKeys<"alg", "field">

Type: sbio::NamedKeys<“alg”, “field”>

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:152


using DataRequest = sbio::DataRequest< RequestSchema >

Type: sbio::DataRequest< RequestSchema >

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:153


using GroupKeys = sbio::NamedKeys<"serial_number">

Type: sbio::NamedKeys<“serial_number”>

Defined in src/lib/sbio/formats/xtc2/xtc2_traits.hh:155