Falcon
Loading...
Searching...
No Matches

Public Member Functions

 SlotOut (PortOut< DATATYPE > *parent, const SlotAddress &address, const typename DATATYPE::Parameters &parameters)
DATATYPE::Data * ClaimData (bool clear)
std::vector< typename DATATYPE::Data * > ClaimDataN (uint64_t n, bool clear)
void PublishData ()
virtual StreamInfo< DATATYPE > & streaminfo ()
const DATATYPE::Data & prototype () const
uint64_t nitems_produced () const
Public Member Functions inherited from ISlotOut
 ISlotOut (IPortOut *parent, const SlotAddress &address)
const SlotAddress & address () const
IPortOut * parent ()
bool connected () const
int nconnected () const
int buffer_size () const

Public Attributes

StreamInfo< DATATYPE > streaminfo_
std::unique_ptr< RingBuffer< typename DATATYPE::Data > > ringbuffer_ = nullptr

Protected Member Functions

virtual DATATYPE::Data * DataAt (int64_t sequence) const
void CreateRingBuffer (int buffer_size, WaitStrategy wait_strategy)
void Unlock ()
RingBatch * next_batch (uint64_t n=1)
virtual void PrepareProcessing ()
Protected Member Functions inherited from ISlotOut
void Connect (ISlotIn *downstream)
int64_t WaitFor (int64_t sequence) const
int64_t WaitFor (int64_t sequence, int64_t time_out) const
std::vector< RingSequence * > gating_sequences ()

Protected Attributes

uint64_t ringbuffer_serial_number_
Protected Attributes inherited from ISlotOut
RingBatch ring_batch_
bool has_publishable_data_ = false
std::set< ISlotIn * > downstream_slots_
std::unique_ptr< RingBarrier > barrier_ = nullptr
int buffer_size_
IPortOut * parent_
SlotAddress address_

Friends

class PortOut< DATATYPE >

Member Function Documentation

◆ DataAt()

template<typename DATATYPE>
virtual DATATYPE::Data * SlotOut< DATATYPE >::DataAt ( int64_t sequence) const
inlineprotectedvirtual

Implements ISlotOut.

◆ streaminfo()

template<typename DATATYPE>
virtual StreamInfo< DATATYPE > & SlotOut< DATATYPE >::streaminfo ( )
inlinevirtual

Implements ISlotOut.


The documentation for this class was generated from the following file: