HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VdfSpeculationExecutorBase Class Reference

#include <speculationExecutorBase.h>

+ Inheritance diagram for VdfSpeculationExecutorBase:

Public Member Functions

virtual VDF_API ~VdfSpeculationExecutorBase ()
 
bool IsSpeculatingNode (const VdfNode *node) const
 
const VdfExecutorInterfaceGetNonSpeculationParentExecutor () const
 
- Public Member Functions inherited from VdfExecutorInterface
 VdfExecutorInterface (const VdfExecutorInterface &)=delete
 
VdfExecutorInterfaceoperator= (const VdfExecutorInterface &)=delete
 
virtual VDF_API ~VdfExecutorInterface ()
 
VDF_API void Run (const VdfSchedule &schedule, VdfExecutorErrorLogger *errorLogger=NULL)
 
VDF_API void Run (const VdfSchedule &schedule, const VdfRequest &computeRequest, VdfExecutorErrorLogger *errorLogger=NULL)
 
virtual const
VdfExecutorFactoryBase
GetFactory () const =0
 
VDF_API void RegisterObserver (const VdfExecutorObserver *observer) const
 
VDF_API void UnregisterObserver (const VdfExecutorObserver *observer) const
 
virtual void Resize (const VdfNetwork &network)
 
virtual void SetOutputValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask)=0
 
virtual bool TakeOutputValue (const VdfOutput &output, VdfVector *value, const VdfMask &mask)=0
 
const VdfVectorGetOutputValue (const VdfOutput &output, const VdfMask &mask) const
 
virtual void DuplicateOutputData (const VdfOutput &sourceOutput, const VdfOutput &destOutput)=0
 
const VdfExecutorInterfaceGetParentExecutor () const
 
VDF_API void SetParentExecutor (const VdfExecutorInterface *parentExecutor)
 
VDF_API void InvalidateValues (const VdfMaskedOutputVector &invalidationRequest)
 
VDF_API void InvalidateTopologicalState ()
 
VDF_API void ClearData ()
 
VDF_API void ClearDataForOutput (const VdfId outputId, const VdfId nodeId)
 
virtual bool IsEmpty () const =0
 
void IncrementExecutorInvalidationTimestamp ()
 
void InheritExecutorInvalidationTimestamp (const VdfExecutorInterface &executor)
 
VdfInvalidationTimestamp GetExecutorInvalidationTimestamp () const
 
virtual bool HasInvalidationTimestampMismatch (const VdfOutput &source, const VdfOutput &dest) const =0
 
void SetInterruptionFlag (const std::atomic_bool *interruptionFlag)
 
const std::atomic_bool * GetInterruptionFlag () const
 
bool HasBeenInterrupted () const
 
void SetExecutionStats (VdfExecutionStats *stats)
 
VdfExecutionStatsGetExecutionStats () const
 

Protected Member Functions

VDF_API VdfSpeculationExecutorBase (const VdfExecutorInterface *parentExecutor)
 
void _SetSpeculationNode (const VdfNode *speculationNode)
 
- Protected Member Functions inherited from VdfExecutorInterface
VDF_API VdfExecutorInterface ()
 
VDF_API VdfExecutorInterface (const VdfExecutorInterface *parentExecutor)
 
virtual void _Run (const VdfSchedule &schedule, const VdfRequest &computeRequest, VdfExecutorErrorLogger *errorLogger)=0
 
virtual const VdfVector_GetInputValue (const VdfConnection &connection, const VdfMask &mask) const =0
 
virtual const VdfVector_GetOutputValueForReading (const VdfOutput &output, const VdfMask &mask) const =0
 
virtual VdfVector_GetOutputValueForWriting (const VdfOutput &output) const =0
 
virtual bool _IsOutputInvalid (const VdfId outputId, const VdfMask &invalidationMask) const =0
 
virtual bool _InvalidateOutput (const VdfOutput &output, const VdfMask &invalidationMask)=0
 
virtual bool _PreProcessInvalidation (const VdfMaskedOutputVector &invalidationRequest, VdfMaskedOutputVector *processedRequest)
 
virtual void _UpdateInvalidationTimestamp ()=0
 
virtual VDF_API void _ClearData ()
 
virtual VDF_API void _ClearDataForOutput (const VdfId outputId, const VdfId nodeId)
 
virtual void _SetReferenceOutputValue (const VdfOutput &destOutput, const VdfOutput &sourceOutput, const VdfMask &sourceMask) const =0
 
virtual void _TouchOutput (const VdfOutput &output) const =0
 

Detailed Description

Definition at line 25 of file speculationExecutorBase.h.

Constructor & Destructor Documentation

virtual VDF_API VdfSpeculationExecutorBase::~VdfSpeculationExecutorBase ( )
virtual

Destructor.

VDF_API VdfSpeculationExecutorBase::VdfSpeculationExecutorBase ( const VdfExecutorInterface parentExecutor)
explicitprotected

Constructor.

Member Function Documentation

void VdfSpeculationExecutorBase::_SetSpeculationNode ( const VdfNode speculationNode)
inlineprotected

Set this executors speculating node.

Definition at line 56 of file speculationExecutorBase.h.

const VdfExecutorInterface* VdfSpeculationExecutorBase::GetNonSpeculationParentExecutor ( ) const
inline

Returns the first executor in the executor hierarchy that is NOT a speculation executor.

Definition at line 42 of file speculationExecutorBase.h.

bool VdfSpeculationExecutorBase::IsSpeculatingNode ( const VdfNode node) const
inline

Returns true if the given node is a not that this executor (or any one of its parents) is speculating about

Definition at line 76 of file speculationExecutorBase.h.


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