Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
TrackingInMemoryBlockSequence Class Reference

#include "/Werk/devel/lumi/tests/core/steam/play/diagnostic-output-slot.hpp"

Description

Diagnostic output connection for a single channel, allowing to track generated frames and verify the processing protocol for output buffers.

Definition at line 89 of file diagnostic-output-slot.hpp.

Public Member Functions

 TrackingInMemoryBlockSequence ()
 
virtual ~TrackingInMemoryBlockSequence ()
 
TestFrame const * accessEmittedFrame (uint frameNr) const
 
diagn::Block const * accessEmittedBuffer (uint bufferNr) const
 
bool wasAllocated (uint frameNr) const
 
- Public Member Functions inherited from OutputSlot::Connection
virtual ~Connection ()
 

Private Types

typedef std::unordered_set< FrameIDFrameTrackingInfo
 

Private Member Functions

BuffHandle trackFrame (FrameID frameNr, BuffHandle const &newBuffer)
 
TimeValue deadlineFor (FrameID frameNr)
 
BuffHandle claimBufferFor (FrameID frameNr)
 
bool isTimely (FrameID frameNr, TimeValue currentTime)
 
void transfer (BuffHandle const &filledBuffer)
 
void pushout (BuffHandle const &data4output)
 
void discard (BuffHandle const &superseededData)
 
void shutDown ()
 
TestFrame const & accessFrame (uint frameNr) const
 
diagn::Block const & accessBlock (uint bufferNr) const
 
- Private Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Private Attributes

TrackingHeapBlockProvider buffProvider_
 
BuffDescr bufferType_
 
FrameTrackingInfo frameTrackingIndex_
 
PGrid frameGrid_
 
bool closed_
 

Constructor & Destructor Documentation

◆ TrackingInMemoryBlockSequence()

Definition at line 186 of file diagnostic-output-slot.hpp.

◆ ~TrackingInMemoryBlockSequence()

virtual ~TrackingInMemoryBlockSequence ( )
inlinevirtual

Definition at line 197 of file diagnostic-output-slot.hpp.

Member Typedef Documentation

◆ FrameTrackingInfo

typedef std::unordered_set<FrameID> FrameTrackingInfo
private

Definition at line 94 of file diagnostic-output-slot.hpp.

Member Function Documentation

◆ trackFrame()

BuffHandle trackFrame ( FrameID  frameNr,
BuffHandle const &  newBuffer 
)
inlineprivate

Definition at line 107 of file diagnostic-output-slot.hpp.

References BuffHandle::entryID(), and TrackingInMemoryBlockSequence::frameTrackingIndex_.

Referenced by TrackingInMemoryBlockSequence::claimBufferFor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deadlineFor()

TimeValue deadlineFor ( FrameID  frameNr)
inlineprivate

Definition at line 119 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::frameGrid_.

Referenced by TrackingInMemoryBlockSequence::isTimely().

+ Here is the caller graph for this function:

◆ claimBufferFor()

BuffHandle claimBufferFor ( FrameID  frameNr)
inlineprivatevirtual

Implements OutputSlot::Connection.

Definition at line 132 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::bufferType_, TrackingInMemoryBlockSequence::buffProvider_, TrackingInMemoryBlockSequence::closed_, BufferProvider::lockBuffer(), and TrackingInMemoryBlockSequence::trackFrame().

+ Here is the call graph for this function:

◆ isTimely()

bool isTimely ( FrameID  frameNr,
TimeValue  currentTime 
)
inlineprivatevirtual

Implements OutputSlot::Connection.

Definition at line 143 of file diagnostic-output-slot.hpp.

References Time::ANYTIME, and TrackingInMemoryBlockSequence::deadlineFor().

+ Here is the call graph for this function:

◆ transfer()

void transfer ( BuffHandle const &  filledBuffer)
inlineprivatevirtual

Implements OutputSlot::Connection.

Definition at line 155 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::closed_, BuffHandle::entryID(), and TrackingInMemoryBlockSequence::pushout().

+ Here is the call graph for this function:

◆ pushout()

void pushout ( BuffHandle const &  data4output)
inlineprivatevirtual

Implements OutputSlot::Connection.

Definition at line 165 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::buffProvider_, TrackingInMemoryBlockSequence::closed_, BufferProvider::emitBuffer(), and BufferProvider::releaseBuffer().

Referenced by TrackingInMemoryBlockSequence::transfer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ discard()

void discard ( BuffHandle const &  superseededData)
inlineprivatevirtual

Implements OutputSlot::Connection.

Definition at line 173 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::buffProvider_, TrackingInMemoryBlockSequence::closed_, and BufferProvider::releaseBuffer().

+ Here is the call graph for this function:

◆ shutDown()

void shutDown ( )
inlineprivatevirtual

◆ accessEmittedFrame()

TestFrame const * accessEmittedFrame ( uint  frameNr) const
inline

Definition at line 206 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::accessFrame(), TrackingInMemoryBlockSequence::buffProvider_, and TrackingHeapBlockProvider::emittedCnt().

Referenced by DiagnosticOutputSlot::OutputFramesLog::firstResult(), and DiagnosticOutputSlot::OutputFramesLog::nextResult().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ accessEmittedBuffer()

diagn::Block const * accessEmittedBuffer ( uint  bufferNr) const
inline

Definition at line 215 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::accessBlock(), TrackingInMemoryBlockSequence::buffProvider_, and TrackingHeapBlockProvider::emittedCnt().

Referenced by DiagnosticOutputSlot::output_was_closed(), and DiagnosticOutputSlot::output_was_emitted().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ wasAllocated()

bool wasAllocated ( uint  frameNr) const
inline

Definition at line 224 of file diagnostic-output-slot.hpp.

References TrackingInMemoryBlockSequence::frameTrackingIndex_.

Referenced by DiagnosticOutputSlot::frame_was_allocated().

+ Here is the caller graph for this function:

◆ accessFrame()

TestFrame const & accessFrame ( uint  frameNr) const
inlineprivate

Definition at line 233 of file diagnostic-output-slot.hpp.

Referenced by TrackingInMemoryBlockSequence::accessEmittedFrame().

+ Here is the caller graph for this function:

◆ accessBlock()

diagn::Block const & accessBlock ( uint  bufferNr) const
inlineprivate

Definition at line 239 of file diagnostic-output-slot.hpp.

Referenced by TrackingInMemoryBlockSequence::accessEmittedBuffer().

+ Here is the caller graph for this function:

Member Data Documentation

◆ buffProvider_

◆ bufferType_

BuffDescr bufferType_
private

◆ frameTrackingIndex_

◆ frameGrid_

PGrid frameGrid_
private

◆ closed_

+ Inheritance diagram for TrackingInMemoryBlockSequence:
+ Collaboration diagram for TrackingInMemoryBlockSequence:

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