rogue
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
rogue::interfaces::stream Namespace Reference

Classes

class  Buffer
 Stream frame buffer container. More...
 
class  Fifo
 Stream frame FIFO. More...
 
class  Filter
 Stream frame filter by channel and error state. More...
 
class  Frame
 Container for one stream frame payload and metadata. More...
 
class  FrameAccessor
 Typed accessor over a contiguous frame-data region. More...
 
class  FrameIterator
 Random-access byte iterator across a Frame payload. More...
 
class  FrameLock
 Scoped lock wrapper for stream frames. More...
 
class  Master
 Stream master endpoint. More...
 
class  Pool
 Frame and buffer allocator for stream endpoints. More...
 
class  RateDrop
 Stream frame-rate dropper. More...
 
class  Slave
 Stream slave endpoint and default frame pool. More...
 
class  SlaveWrap
 Internal Boost.Python wrapper for rogue::interfaces::stream::Slave. Enables Python subclasses to override virtual methods. More...
 
class  TcpClient
 Stream TCP bridge client. More...
 
class  TcpCore
 Stream TCP bridge core implementation. More...
 
class  TcpServer
 Stream TCP bridge server. More...
 

Typedefs

typedef std::shared_ptr< rogue::interfaces::stream::BufferBufferPtr
 Shared pointer alias for Buffer.
 
typedef std::shared_ptr< rogue::interfaces::stream::FifoFifoPtr
 Shared pointer alias for Fifo.
 
typedef std::shared_ptr< rogue::interfaces::stream::FilterFilterPtr
 Shared pointer alias for Filter.
 
typedef std::shared_ptr< rogue::interfaces::stream::FrameFramePtr
 Shared pointer alias for Frame.
 
typedef std::shared_ptr< rogue::interfaces::stream::FrameLockFrameLockPtr
 Shared pointer alias for FrameLock.
 
typedef std::shared_ptr< rogue::interfaces::stream::MasterMasterPtr
 Shared pointer alias for Master.
 
typedef std::shared_ptr< rogue::interfaces::stream::PoolPoolPtr
 Shared pointer alias for Pool.
 
typedef std::shared_ptr< rogue::interfaces::stream::RateDropRateDropPtr
 Shared pointer alias for RateDrop.
 
typedef std::shared_ptr< rogue::interfaces::stream::SlaveSlavePtr
 Shared pointer alias for Slave.
 
typedef std::shared_ptr< rogue::interfaces::stream::SlaveWrapSlaveWrapPtr
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpClientTcpClientPtr
 Shared pointer alias for TcpClient.
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpCoreTcpCorePtr
 Shared pointer alias for TcpCore.
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpServerTcpServerPtr
 Alias for using shared pointer as TcpServerPtr.
 

Functions

static void toFrame (rogue::interfaces::stream::FrameIterator &iter, uint32_t size, void *src)
 Copies bytes from a source pointer into a frame iterator.
 
static void fromFrame (rogue::interfaces::stream::FrameIterator &iter, uint32_t size, void *dst)
 Copies bytes from a frame iterator to a destination pointer.
 
static void copyFrame (rogue::interfaces::stream::FrameIterator &srcIter, uint32_t size, rogue::interfaces::stream::FrameIterator &dstIter)
 Copies bytes between frame iterators.
 
void setup_module ()
 

Typedef Documentation

◆ BufferPtr

Shared pointer alias for Buffer.

Definition at line 270 of file Buffer.h.

◆ FifoPtr

Shared pointer alias for Fifo.

Definition at line 133 of file Fifo.h.

◆ FilterPtr

Shared pointer alias for Filter.

Definition at line 93 of file Filter.h.

◆ FrameLockPtr

Shared pointer alias for FrameLock.

Definition at line 110 of file FrameLock.h.

◆ FramePtr

Shared pointer alias for Frame.

Definition at line 549 of file Frame.h.

◆ MasterPtr

Shared pointer alias for Master.

Definition at line 221 of file Master.h.

◆ PoolPtr

Shared pointer alias for Pool.

Definition at line 249 of file Pool.h.

◆ RateDropPtr

Shared pointer alias for RateDrop.

Definition at line 98 of file RateDrop.h.

◆ SlavePtr

Shared pointer alias for Slave.

Definition at line 234 of file Slave.h.

◆ SlaveWrapPtr

Definition at line 269 of file Slave.h.

◆ TcpClientPtr

Shared pointer alias for TcpClient.

Definition at line 85 of file TcpClient.h.

◆ TcpCorePtr

Shared pointer alias for TcpCore.

Definition at line 141 of file TcpCore.h.

◆ TcpServerPtr

Alias for using shared pointer as TcpServerPtr.

Definition at line 86 of file TcpServer.h.

Function Documentation

◆ copyFrame()

static void rogue::interfaces::stream::copyFrame ( rogue::interfaces::stream::FrameIterator srcIter,
uint32_t  size,
rogue::interfaces::stream::FrameIterator dstIter 
)
inlinestatic

Copies bytes between frame iterators.

This helper function copies data from the source frame at the iterator location into the destination frame at the iterator location. Both iterators are incremented by the copied byte count.

Caller is expected to ensure sufficient readable bytes in srcIter and writable capacity in dstIter for size bytes.

Parameters
srcIterFrameIterator at position to copy the data from.
sizeNumber of bytes to copy.
dstIterFrameIterator at position to copy the data to.

Definition at line 393 of file FrameIterator.h.

◆ fromFrame()

static void rogue::interfaces::stream::fromFrame ( rogue::interfaces::stream::FrameIterator iter,
uint32_t  size,
void *  dst 
)
inlinestatic

Copies bytes from a frame iterator to a destination pointer.

This helper function copies data from the frame at the iterator location into the passed data pointer. The iterator is incremented by the copied byte count.

Caller is expected to ensure sufficient readable frame payload for size bytes from the iterator position.

Parameters
iterFrameIterator at position to copy the data from.
sizeNumber of bytes to copy.
dstPointer to destination data.

Definition at line 365 of file FrameIterator.h.

◆ setup_module()

void rogue::interfaces::stream::setup_module ( )

Company : SLAC National Accelerator Laboratory

Description:

Python module setup

This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms

contained in the LICENSE.txt file.

Definition at line 39 of file module.cpp.

◆ toFrame()

static void rogue::interfaces::stream::toFrame ( rogue::interfaces::stream::FrameIterator iter,
uint32_t  size,
void *  src 
)
inlinestatic

Copies bytes from a source pointer into a frame iterator.

This helper function copies from the passed data pointer into the frame at the iterator position. The iterator is incremented by the copied byte count.

Caller is expected to ensure sufficient writable frame capacity for size bytes from the iterator position.

Parameters
iterFrameIterator at position to copy the data to.
sizeNumber of bytes to copy.
srcPointer to source data.

Definition at line 337 of file FrameIterator.h.