Template Class SlotOut

Inheritance Relationships

Base Type

Class Documentation

template<typename DATATYPE>
class SlotOut : public ISlotOut

Public Functions

inline SlotOut(PortOut<DATATYPE> *parent, const SlotAddress &address, const typename DATATYPE::Parameters &parameters)
inline DATATYPE::Data *ClaimData(bool clear)
inline std::vector<typename DATATYPE::Data*> ClaimDataN(uint64_t n, bool clear)
inline void PublishData()
inline virtual StreamInfo<DATATYPE> &streaminfo()
inline uint64_t nitems_produced() const

Public Members

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

Protected Functions

inline virtual DATATYPE::Data *DataAt(int64_t sequence) const
void CreateRingBuffer(int buffer_size, WaitStrategy wait_strategy)
void Unlock()
inline RingBatch *next_batch(uint64_t n = 1)
inline virtual void PrepareProcessing()

Protected Attributes

uint64_t ringbuffer_serial_number_