41 #include <boost/python.hpp>
42namespace bp = boost::python;
52void rpb::SplitterV1::setup_python() {
54 bp::class_<rpb::SplitterV1, rpb::SplitterV1Ptr, bp::bases<ris::Master, ris::Slave>, boost::noncopyable>(
61rpb::SplitterV1::SplitterV1() :
ris::Master(),
ris::Slave() {}
64rpb::SplitterV1::~SplitterV1() {}
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 v1 super-frames.
bool processFrame(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Parses a batched frame and populates parser state.
uint32_t count()
Returns number of parsed records.
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::SplitterV1 > SplitterV1Ptr
std::shared_ptr< rogue::protocols::batcher::Data > DataPtr