Ejemplo n.º 1
0
 public override void VisitAlphaMemoryNode <T>(LogContext context, IAlphaMemoryNode <T> node)
 {
     using (_log.BeginScope <AlphaMemoryNode <T> >())
     {
         base.VisitAlphaMemoryNode(context, node);
     }
 }
Ejemplo n.º 2
0
 public virtual void VisitAlphaMemoryNode <T>(TContext context, IAlphaMemoryNode <T> node)
     where T : class
 {
     foreach (IFactSink <T> sink in node.GetSinks())
     {
         sink.Accept(this, context);
     }
 }
Ejemplo n.º 3
0
 public IAlphaMemory GetNodeMemory(IAlphaMemoryNode node)
 {
     if (!_alphaMap.TryGetValue(node, out var memory))
     {
         memory          = new AlphaMemory();
         _alphaMap[node] = memory;
     }
     return(memory);
 }
Ejemplo n.º 4
0
 public IAlphaMemory GetNodeMemory(IAlphaMemoryNode node)
 {
     IAlphaMemory memory;
     if (!_alphaMap.TryGetValue(node, out memory))
     {
         memory = new AlphaMemory();
         _alphaMap[node] = memory;
     }
     return memory;
 }
Ejemplo n.º 5
0
        public override void VisitAlphaMemoryNode <T>(GraphContext context, IAlphaMemoryNode <T> node)
        {
            var nodeInfo = new Node(Interlocked.Increment(ref _id), node, typeof(T), "a-memory");

            context.Add(nodeInfo);
            foreach (var sink in node.GetSinks())
            {
                context.Link(nodeInfo, new Node(-1, sink as INode, typeof(T), ""));
            }

            base.VisitAlphaMemoryNode(context, node);
        }
Ejemplo n.º 6
0
        Task IAlphaMemoryMap.Access <T>(IAlphaMemoryNode <T> node, NodeMemoryAccessor <IAlphaMemory <T> > accessor)
        {
            var memory = _memories.GetOrAdd(node, add => new AlphaMemory <T>(_loggerFactory));

            return(memory.Access(accessor));
        }
Ejemplo n.º 7
0
 Task IWorkingMemory.Access <T>(IAlphaMemoryNode <T> node, NodeMemoryAccessor <IAlphaMemory <T> > accessor)
 {
     return(_alphaMemories.Access(node, accessor));
 }