HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EfPageCacheBasedExecutor< EngineType, DataManagerType > Class Template Reference

Executes a VdfNetwork to compute a requested set of values. Caches the computed data in a EfPageCacheStorage container and recalls existing data using a page specified via the currently set value on the key output. More...

#include <pageCacheBasedExecutor.h>

+ Inheritance diagram for EfPageCacheBasedExecutor< EngineType, DataManagerType >:

Public Member Functions

 EfPageCacheBasedExecutor (EfPageCacheStorage *cacheStorage)
 
virtual ~EfPageCacheBasedExecutor ()
 
virtual void SetOutputValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask) override
 
void WillDeleteNode (const VdfNode &node)
 
- Public Member Functions inherited from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >
 VdfDataManagerBasedExecutor ()
 
 VdfDataManagerBasedExecutor (const VdfExecutorInterface *parentExecutor)
 
virtual ~VdfDataManagerBasedExecutor ()
 
virtual void Resize (const VdfNetwork &network) override
 
virtual bool TakeOutputValue (const VdfOutput &output, VdfVector *value, const VdfMask &mask) override
 
virtual void DuplicateOutputData (const VdfOutput &sourceOutput, const VdfOutput &destOutput) override
 
virtual bool IsEmpty () const override
 
virtual bool HasInvalidationTimestampMismatch (const VdfOutput &source, const VdfOutput &dest) const override
 
- 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
 
const VdfVectorGetOutputValue (const VdfOutput &output, const VdfMask &mask) const
 
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)
 
void IncrementExecutorInvalidationTimestamp ()
 
void InheritExecutorInvalidationTimestamp (const VdfExecutorInterface &executor)
 
VdfInvalidationTimestamp GetExecutorInvalidationTimestamp () const
 
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

virtual const VdfVector_GetInputValue (const VdfConnection &connection, const VdfMask &mask) const override
 
virtual const VdfVector_GetOutputValueForReading (const VdfOutput &output, const VdfMask &mask) const override
 
virtual void _ClearData () override
 
- Protected Member Functions inherited from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >
virtual VdfVector_GetOutputValueForWriting (const VdfOutput &output) const override
 
void _ClearDataForOutput (const VdfId outputId, const VdfId nodeId) override
 
virtual bool _IsOutputInvalid (const VdfId outputId, const VdfMask &invalidationMask) const override
 
virtual void _UpdateInvalidationTimestamp () override
 
virtual void _SetReferenceOutputValue (const VdfOutput &destOutput, const VdfOutput &sourceOutput, const VdfMask &sourceMask) const override
 
virtual void _TouchOutput (const VdfOutput &output) const override
 
- Protected Member Functions inherited from VdfExecutorInterface
VDF_API VdfExecutorInterface ()
 
VDF_API VdfExecutorInterface (const VdfExecutorInterface *parentExecutor)
 

Additional Inherited Members

- Protected Attributes inherited from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >
DataManagerType _dataManager
 

Detailed Description

template<template< typename > class EngineType, typename DataManagerType>
class EfPageCacheBasedExecutor< EngineType, DataManagerType >

Executes a VdfNetwork to compute a requested set of values. Caches the computed data in a EfPageCacheStorage container and recalls existing data using a page specified via the currently set value on the key output.

Definition at line 43 of file pageCacheBasedExecutor.h.

Constructor & Destructor Documentation

template<template< typename > class EngineType, typename DataManagerType >
EfPageCacheBasedExecutor< EngineType, DataManagerType >::EfPageCacheBasedExecutor ( EfPageCacheStorage cacheStorage)
inline

Constructor.

Definition at line 53 of file pageCacheBasedExecutor.h.

template<template< typename > class EngineType, typename DataManagerType >
virtual EfPageCacheBasedExecutor< EngineType, DataManagerType >::~EfPageCacheBasedExecutor ( )
inlinevirtual

Destructor.

Definition at line 65 of file pageCacheBasedExecutor.h.

Member Function Documentation

template<template< typename > class EngineType, typename DataManagerType >
void EfPageCacheBasedExecutor< EngineType, DataManagerType >::_ClearData ( )
overrideprotectedvirtual

Virtual implementation of the ClearData call. This may be overridden by classes, which derive from VdfExecutorInterface.

Reimplemented from VdfExecutorInterface.

Definition at line 409 of file pageCacheBasedExecutor.h.

template<template< typename > class EngineType, typename DataManagerType >
const VdfVector * EfPageCacheBasedExecutor< EngineType, DataManagerType >::_GetInputValue ( const VdfConnection connection,
const VdfMask mask 
) const
overrideprotectedvirtual

Returns value for the cache that flows across connection.

Reimplemented from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >.

Definition at line 175 of file pageCacheBasedExecutor.h.

template<template< typename > class EngineType, typename DataManagerType >
const VdfVector * EfPageCacheBasedExecutor< EngineType, DataManagerType >::_GetOutputValueForReading ( const VdfOutput output,
const VdfMask mask 
) const
overrideprotectedvirtual

Returns an output value for reading.

Reimplemented from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >.

Definition at line 196 of file pageCacheBasedExecutor.h.

template<template< typename > class EngineType, typename DataManagerType >
void EfPageCacheBasedExecutor< EngineType, DataManagerType >::SetOutputValue ( const VdfOutput output,
const VdfVector value,
const VdfMask mask 
)
overridevirtual

Set an output value.

Changes the currently selected page in the page cache, if output is a key output in the EfPageCacheStorage container.

Reimplemented from VdfDataManagerBasedExecutor< DataManagerType, VdfExecutorInterface >.

Definition at line 147 of file pageCacheBasedExecutor.h.

template<template< typename > class EngineType, typename DataManagerType >
void EfPageCacheBasedExecutor< EngineType, DataManagerType >::WillDeleteNode ( const VdfNode node)

Removes any internal references to node upon deleting the node from the VdfNetwork.

Definition at line 166 of file pageCacheBasedExecutor.h.


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