41 #include <boost/python.hpp>
42namespace bp = boost::python;
52void rpb::SplitterV2::setup_python() {
54 bp::class_<rpb::SplitterV2, rpb::SplitterV2Ptr, bp::bases<ris::Master, ris::Slave>, boost::noncopyable>(
61rpb::SplitterV2::SplitterV2() :
ris::Master(),
ris::Slave() {}
64rpb::SplitterV2::~SplitterV2() {}
79 for (x = 0; x < core.
count(); x++) {
83 nFrame = reqFrame(data->size(),
true);
84 nFrame->setPayload(data->size());
91 nFrame->setFirstUser(data->fUser());
92 nFrame->setLastUser(data->lUser());
93 nFrame->setChannel(data->dest());
RAII helper that releases the Python GIL for a scope.
Random-access byte iterator across a Frame payload.
Parser for SLAC AXI Batcher v2 super-frames.
uint32_t count()
Returns number of parsed records.
bool processFrame(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Parses a batched frame and populates parser state.
std::shared_ptr< rogue::protocols::batcher::Data > & record(uint32_t index)
Returns parsed data record descriptor by index.
static void copyFrame(rogue::interfaces::stream::FrameIterator &srcIter, uint32_t size, rogue::interfaces::stream::FrameIterator &dstIter)
Copies bytes between frame iterators.
std::shared_ptr< rogue::interfaces::stream::Frame > FramePtr
Shared pointer alias for Frame.
std::shared_ptr< rogue::interfaces::stream::FrameLock > FrameLockPtr
Shared pointer alias for FrameLock.
std::shared_ptr< rogue::protocols::batcher::SplitterV2 > SplitterV2Ptr
std::shared_ptr< rogue::protocols::batcher::Data > DataPtr