70 explicit _Visited(uint32_t ts) : timestamp(ts), index(0) {}
77 struct _PoolDependency {
83 struct _Dependencies {
93 explicit _ReplayEntry(
const VdfOutput *o) : output(o) {}
101 struct _ReplayCache {
102 std::vector<_ReplayEntry> entries;
108 using _VisitedMap = std::vector<_Visited>;
111 using _OutputStack = std::vector<VdfMaskedOutput>;
114 using _PoolQueue = std::map<const VdfPoolChainIndex, VdfMaskedOutput>;
117 bool _IsInvalid(
const VdfMaskedOutputVector &request)
const;
121 _ReplayCache* _GetReplayCache(
const VdfMaskedOutputVector &outputs);
127 uint32_t *_Visit(
const VdfMaskedOutput &maskedOutput, uint32_t nextIndex);
131 const VdfMaskedOutputVector &request,
132 _ReplayCache *replayCache);
135 bool _TraverseOutput(
143 bool _Replay(
const _ReplayCache &replayCache);
147 const _Dependencies &_GetDependencies(
151 void _ComputeDependencies(
153 _Dependencies *dependencies);
159 _VisitedMap _visited;
166 using _DependencyMap = TfHashMap<
168 _DependencyMap _dependencyMap;
173 _ReplayLRU _replayLRU;