public IBetaMemory GetNodeMemory(IBetaMemoryNode node) { if (!_betaMap.TryGetValue(node, out var memory)) { memory = new BetaMemory(); _betaMap[node] = memory; } return(memory); }
public IBetaMemory GetNodeMemory(IBetaMemoryNode node) { IBetaMemory memory; if (!_betaMap.TryGetValue(node, out memory)) { memory = new BetaMemory(); _betaMap[node] = memory; } return memory; }
public override void VisitBetaMemoryNode <TRight>(GraphContext context, IBetaMemoryNode <TRight> node) { var nodeInfo = new Node(Interlocked.Increment(ref _id), node, typeof(TRight), "b-memory"); context.Add(nodeInfo); foreach (var sink in node.GetSinks()) { context.Link(nodeInfo, new Node(-1, sink as INode, typeof(TRight), "")); } base.VisitBetaMemoryNode(context, node); }
public ObjectInputAdapter(IBetaMemoryNode source) { _source = source; source.Attach(this); }
public virtual void VisitDummyNode <TRight>(TContext context, IBetaMemoryNode <TRight> node) where TRight : class { }
Task IBetaMemoryMap.Access <T>(IBetaMemoryNode <T> node, NodeMemoryAccessor <IBetaMemory <T> > accessor) { var memory = _memories.GetOrAdd(node, add => new BetaMemory <T>()); return(memory.Access(accessor)); }
Task IWorkingMemory.Access <TRight>(IBetaMemoryNode <TRight> node, NodeMemoryAccessor <IBetaMemory <TRight> > accessor) { return(_betaMemories.Access(node, accessor)); }