rogue
Loading...
Searching...
No Matches
Data.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_PROTOCOLS_BATCHER_DATA_H__
18#define __ROGUE_PROTOCOLS_BATCHER_DATA_H__
19#include "rogue/Directives.h"
20
21#include <stdint.h>
22
23#include <memory>
24#include <thread>
25
28
29namespace rogue {
30namespace protocols {
31namespace batcher {
32
49class Data {
50 // Iterator to beginning of record payload in source frame.
52
53 // Record payload size in bytes.
54 uint32_t size_;
55
56 // Destination/channel field from record tail.
57 uint8_t dest_;
58
59 // First-user metadata byte from record tail.
60 uint8_t fUser_;
61
62 // Last-user metadata byte from record tail.
63 uint8_t lUser_;
64
65 public:
67 static void setup_python();
68
86 static std::shared_ptr<rogue::protocols::batcher::Data> create(rogue::interfaces::stream::FrameIterator it,
87 uint32_t size,
88 uint8_t dest,
89 uint8_t fUser,
90 uint8_t lUser);
91
105 Data(rogue::interfaces::stream::FrameIterator it, uint32_t size, uint8_t dest, uint8_t fUser, uint8_t lUser);
106
108 ~Data();
109
115
121
126 uint32_t size();
127
132 uint8_t dest();
133
138 uint8_t fUser();
139
144 uint8_t lUser();
145};
146
147// Convienence
148typedef std::shared_ptr<rogue::protocols::batcher::Data> DataPtr;
149} // namespace batcher
150} // namespace protocols
151} // namespace rogue
152#endif
Random-access byte iterator across a Frame payload.
Parsed batcher record descriptor.
Definition Data.h:49
uint8_t lUser()
Returns last-user metadata.
Definition Data.cpp:77
uint8_t dest()
Returns destination/channel value.
Definition Data.cpp:67
uint32_t size()
Returns payload size.
Definition Data.cpp:62
rogue::interfaces::stream::FrameIterator end()
Returns iterator to end of payload.
Definition Data.cpp:57
static void setup_python()
Registers Python bindings for this class.
Definition Data.cpp:37
rogue::interfaces::stream::FrameIterator begin()
Returns iterator to beginning of payload.
Definition Data.cpp:52
~Data()
Destroys the record descriptor.
Definition Data.cpp:49
uint8_t fUser()
Returns first-user metadata.
Definition Data.cpp:72
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)
Creates a parsed record descriptor.
Definition Data.cpp:31
std::shared_ptr< rogue::protocols::batcher::Data > DataPtr
Definition Data.h:148