Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override void _Next(TState state)
        {
            if (!Left.IsReady(state.left) || !Right.IsReady(state.right))
            {
                if (!Left.IsReady(state.left))
                {
                    Left.Next(state.left);
                }
                if (!Right.IsReady(state.right))
                {
                    Right.Next(state.right);
                }
            }
            else
            {
                if (Left.GetOtherTime(state.left) < Right.GetOtherTime(state.right))
                {
                    Left.Next(state.left);
                }
                else if (Left.GetOtherTime(state.left) >= Right.GetOtherTime(state.right))
                {
                    Right.Next(state.right);
                }
            }

            ProcessNextItem(state);
        }
Ejemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 protected override void _Next(TState state)
 {
     Stream.Next(state.i);
     if (!IsDone(state) && Stream.IsReady(state.i))
     {
         ProcessNextItem(state);
     }
 }