aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Net/StreamExtensions.cs
blob: b4925cc7fdf34a47b55a1edf2f1ce8b8ad6f5c95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.IO;
using System.Reactive.Linq;

namespace MediaBrowser.Net
{
    public static class StreamExtensions
    {
        public static IObservable<byte[]> ReadBytes(this Stream stream, int count)
        {
            var buffer = new byte[count];
            return Observable.FromAsyncPattern((cb, state) => stream.BeginRead(buffer, 0, count, cb, state), ar =>
            {
                stream.EndRead(ar);
                return buffer;
            })();
        }
    }
}