gstreamer
Loading...
Searching...
No Matches
gSROData.h
Go to the documentation of this file.
1#pragma once
2
3#include <chrono>
4#include <cstddef>
5#include <cstdint>
6#include <functional>
7#include <memory>
8#include <optional>
9
17
18using GSROCrateId = std::uint32_t;
19using GSROEventId = std::uint64_t;
20using GSROTime = std::chrono::duration<std::int64_t, std::nano>;
21
31{
32public:
33 virtual ~GSROData() = default;
34
36 [[nodiscard]] virtual std::size_t size_bytes() const noexcept = 0;
37};
38
44
46using GSROEmit = std::function<void(GSROCrateId, GSROTime, std::unique_ptr<const GSROData>)>;
47
58{
61 std::uint64_t sequence;
63 std::unique_ptr<const GSROData> data;
64};
65
74{
76 std::uint64_t frame_id;
79 std::unique_ptr<const GSROData> data;
80};
81
83
94{
96 std::optional<GSROTime> safe_time;
97};
Base for implementation-defined payload and frame contents.
Definition gSROData.h:31
virtual ~GSROData()=default
virtual std::size_t size_bytes() const noexcept=0
Resident bytes, including this concrete object and its owned allocations, for buffer accounting.
std::function< void(GSROCrateId, GSROTime, std::unique_ptr< const GSROData >)> GSROEmit
Immediate worker dispatch; never retain this callback beyond stream_hit. The action assigns sequence ...
Definition gSROData.h:46
std::chrono::duration< std::int64_t, std::nano > GSROTime
Definition gSROData.h:20
std::uint32_t GSROCrateId
Definition gSROData.h:18
std::uint64_t GSROEventId
Definition gSROData.h:19
GSROEndReason
Definition gSROData.h:82
Input-delivery state passed to the implementation at orderly shutdown.
Definition gSROData.h:94
std::optional< GSROTime > safe_time
Definition gSROData.h:96
GSROEndReason reason
Definition gSROData.h:95
Context passed to worker digitizers. Event IDs restart at zero for each run invocation.
Definition gSROData.h:40
GSROEventId event_id
Definition gSROData.h:42
An implementation-produced frame, transferred by move to the output sink.
Definition gSROData.h:74
std::uint64_t frame_id
Definition gSROData.h:76
GSROTime begin
Definition gSROData.h:77
GSROCrateId crate_id
Definition gSROData.h:75
GSROTime end
Definition gSROData.h:78
std::unique_ptr< const GSROData > data
Definition gSROData.h:79
One worker-produced contribution, transferred by move to its destination crate.
Definition gSROData.h:58
GSROTime time
Definition gSROData.h:62
std::uint64_t sequence
Definition gSROData.h:61
GSROEventId event_id
Definition gSROData.h:60
std::unique_ptr< const GSROData > data
Definition gSROData.h:63
GSROCrateId crate_id
Definition gSROData.h:59