Exemplo n.º 1
0
 protected void LinkBuffersRecursively()
 {
     foreach (DataFlowComponent predecessor in Predecessors)
     {
         if (!predecessor.WasLinked.ContainsKey(this))
         {
             LinkPredicates predicate = null;
             LinkPredicates.TryGetValue(this, out predicate);
             predecessor.LinkBuffers(this, predicate);
             predecessor.WasLinked.Add(this, true);
             predecessor.LinkBuffersRecursively();
         }
     }
     foreach (DataFlowComponent successor in Successors)
     {
         if (!WasLinked.ContainsKey(successor))
         {
             LinkPredicates predicate = null;
             LinkPredicates.TryGetValue(successor, out predicate);
             LinkBuffers(successor, predicate);
             WasLinked.Add(successor, true);
             successor.LinkBuffersRecursively();
         }
     }
 }
Exemplo n.º 2
0
        internal override void LinkBuffers(DataFlowComponent successor, LinkPredicates linkPredicates)
        {
            var s      = successor as IDataFlowDestination <TOutput>;
            var linker = new BufferLinker <TOutput>(linkPredicates);

            linker.LinkBlocksWithPredicates(SourceBlock, s.TargetBlock);
        }
Exemplo n.º 3
0
        internal override void LinkBuffers(DataFlowComponent successor, LinkPredicates linkPredicate)
        {
            var s  = successor as IDataFlowDestination <ETLBoxError>;
            var lp = new BufferLinker <ETLBoxError>(linkPredicate);

            lp.LinkBlocksWithPredicates(SourceBlock, s.TargetBlock);
        }
Exemplo n.º 4
0
 internal virtual void LinkBuffers(DataFlowComponent successor, LinkPredicates predicate)
 {
     //No linking by default
 }
Exemplo n.º 5
0
 internal BufferLinker(LinkPredicates linkPredicates = null)
 {
     LinkPredicate = linkPredicates;
 }