Example #1
0
        /// <summary>
        ///     Creates a dataflow block from current configuration.
        /// </summary>
        protected override ITargetBlock <SplitJoinItem <TParent, TItem> > CreateBlock()
        {
            ITargetBlock <SplitJoinItem <TParent, TItem> > block;

            if (this.processAsync != null)
            {
                block = DataflowSplitJoin.CreateFinalJoinBlockAsync(this.processAsync, this.DefaultExceptionLogger);
            }
            else if (this.processSync != null)
            {
                block = DataflowSplitJoin.CreateFinalJoinBlock(this.processSync, this.DefaultExceptionLogger);
            }
            else
            {
                block = DataflowSplitJoin.CreateFinalJoinBlock <TParent, TItem> ();
            }

            return(block);
        }