Loading...
Searching...
No Matches
pageCacheExecutor.h
Go to the documentation of this file.
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_EXEC_EF_PAGE_CACHE_EXECUTOR_H
8#define PXR_EXEC_EF_PAGE_CACHE_EXECUTOR_H
9
11
12#include "pxr/pxr.h"
13
16
19
20PXR_NAMESPACE_OPEN_SCOPE
21
33template <
34 template <typename> class EngineType,
35 typename DataManagerType>
37 public EfPageCacheBasedExecutor<EngineType, DataManagerType>
38{
39 // Base type definition.
41
42 // The speculatino executor engine alias declaration, to be bound as a
43 // template template parameter.
44 template <typename T>
45 using SpeculationEngineType =
46 typename EngineType<T>::SpeculationExecutorEngine;
47
48 // Executor factory.
49 typedef
50 VdfExecutorFactory<
51 EfSubExecutor<EngineType, DataManagerType>,
53 _Factory;
54
55public:
56
59 explicit EfPageCacheExecutor(EfPageCacheStorage *cacheStorage) :
60 Base(cacheStorage)
61 {}
62
66
69 virtual const VdfExecutorFactoryBase &GetFactory() const override final {
70 return _factory;
71 }
72
73private:
74
75 // Clear all data in the local data manager.
76 //
77 virtual void _ClearData();
78
79 // The factory shared amongst executors of this type.
80 //
81 static const _Factory _factory;
82
83};
84
85template <template <typename> class EngineType, typename DataManagerType>
86const typename EfPageCacheExecutor<EngineType, DataManagerType>::_Factory
88
89/* virtual */
90template <template <typename> class EngineType, typename DataManagerType>
91void
93{
94 Base::_ClearData();
95 Base::_dataManager.Clear();
96}
97
98PXR_NAMESPACE_CLOSE_SCOPE
99
100#endif
Executes a VdfNetwork to compute a requested set of values.
Executes a VdfNetwork to compute a requested set of values.
EfPageCacheExecutor(EfPageCacheStorage *cacheStorage)
Constructor.
virtual const VdfExecutorFactoryBase & GetFactory() const override final
Factory construction.
virtual ~EfPageCacheExecutor()
Destructor.
Manages a page cache and provides methods for invalidation of cached values.
Executor used in speculation.