Esempio n. 1
0
        public static Streamable <IEnumerable <T> > Buffer <T>(this Streamable <T> source, int bufferSize)
        {
            var streamable = new BufferImpl <T>(bufferSize);

            source.Subscribe(streamable);
            return(streamable);
        }
Esempio n. 2
0
 protected override IDisposable Run(IObserver <IList <TSource> > observer, IDisposable cancel, Action <IDisposable> setSink)
 {
     if (_scheduler == null)
     {
         var sink = new _(this, observer, cancel);
         setSink(sink);
         return(sink.Run());
     }
     else if (_count > 0)
     {
         var sink = new Impl(this, observer, cancel);
         setSink(sink);
         return(sink.Run());
     }
     else
     {
         if (_timeSpan == _timeShift)
         {
             var sink = new BufferTimeShift(this, observer, cancel);
             setSink(sink);
             return(sink.Run());
         }
         else
         {
             var sink = new BufferImpl(this, observer, cancel);
             setSink(sink);
             return(sink.Run());
         }
     }
 }
Esempio n. 3
0
        public static Dim Parse(WordReader reader, uint wordCount)
        {
            var id = (Enumerant)reader.ReadWord();

            switch (id)
            {
            case Enumerant.Dim1D:
                return(Dim1DImpl.Parse(reader, wordCount - 1));

            case Enumerant.Dim2D:
                return(Dim2DImpl.Parse(reader, wordCount - 1));

            case Enumerant.Dim3D:
                return(Dim3DImpl.Parse(reader, wordCount - 1));

            case Enumerant.Cube:
                return(CubeImpl.Parse(reader, wordCount - 1));

            case Enumerant.Rect:
                return(RectImpl.Parse(reader, wordCount - 1));

            case Enumerant.Buffer:
                return(BufferImpl.Parse(reader, wordCount - 1));

            case Enumerant.SubpassData:
                return(SubpassDataImpl.Parse(reader, wordCount - 1));

            default:
                throw new IndexOutOfRangeException("Unknown Dim " + id);
            }
        }