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::Buffer > BufferPtr
 Shared pointer alias for Buffer.
 
typedef std::shared_ptr< rogue::interfaces::stream::Fifo > FifoPtr
 Shared pointer alias for Fifo.
 
typedef std::shared_ptr< rogue::interfaces::stream::Filter > FilterPtr
 Shared pointer alias for Filter.
 
typedef std::shared_ptr< rogue::interfaces::stream::Frame > FramePtr
 Shared pointer alias for Frame.
 
typedef std::shared_ptr< rogue::interfaces::stream::FrameLock > FrameLockPtr
 Shared pointer alias for FrameLock.
 
typedef std::shared_ptr< rogue::interfaces::stream::Master > MasterPtr
 Shared pointer alias for Master.
 
typedef std::shared_ptr< rogue::interfaces::stream::Pool > PoolPtr
 Shared pointer alias for Pool.
 
typedef std::shared_ptr< rogue::interfaces::stream::RateDrop > RateDropPtr
 Shared pointer alias for RateDrop.
 
typedef std::shared_ptr< rogue::interfaces::stream::Slave > SlavePtr
 Shared pointer alias for Slave.
 
typedef std::shared_ptr< rogue::interfaces::stream::SlaveWrap > SlaveWrapPtr
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpClient > TcpClientPtr
 Shared pointer alias for TcpClient.
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpCore > TcpCorePtr
 Shared pointer alias for TcpCore.
 
typedef std::shared_ptr< rogue::interfaces::stream::TcpServer > TcpServerPtr
 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 137 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 230 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 254 of file Slave.h.

◆ SlaveWrapPtr

Definition at line 289 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.