17#ifndef __ROGUE_PROTOCOLS_BATCHER_COMBINER_V2_H__
18#define __ROGUE_PROTOCOLS_BATCHER_COMBINER_V2_H__
51 std::shared_ptr<rogue::Logging> log_;
54 std::vector<std::shared_ptr<rogue::interfaces::stream::Frame> > queue_;
70 static std::shared_ptr<rogue::protocols::batcher::CombinerV2>
create();
84 void acceptFrame(std::shared_ptr<rogue::interfaces::stream::Frame> frame);
103typedef std::shared_ptr<rogue::protocols::batcher::CombinerV2>
CombinerV2Ptr;
Stream slave endpoint and default frame pool.
Combines individual frames into a batcher v2 super-frame.
static std::shared_ptr< rogue::protocols::batcher::CombinerV2 > create()
Creates a CombinerV2 instance.
CombinerV2()
Constructs a CombinerV2 instance.
uint32_t getCount()
Returns the number of frames currently queued.
void acceptFrame(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Accepts a frame and immediately queues it for batching.
void sendBatch()
Builds and sends a batcher v2 super-frame from all queued frames.
static void setup_python()
Registers Python bindings for this class.
~CombinerV2()
Destroys the combiner.
std::shared_ptr< rogue::protocols::batcher::CombinerV2 > CombinerV2Ptr