Why doesn't BufferWithTime complete?
-
Sunday, December 13, 2009 2:07 PM
internal class Program
{
private static void Main()
{
// This completes
using (GetSequence().ToObservable().Subscribe(Console.WriteLine, () => Console.WriteLine("complete")))
{
Console.ReadKey();
}// This doesn't
using (GetSequence().ToObservable().BufferWithTime(TimeSpan.FromSeconds(1)).Subscribe(
xs =>
{
Console.Write("{0}: ", Environment.TickCount);foreach (int x in xs)
{
Console.Write("{0} ", x);
}Console.WriteLine();
},
() => Console.WriteLine("complete")))
{
Console.ReadKey();
}
}public static IEnumerable<int> GetSequence()
{
Thread.Sleep(500);
yield return 1;
Thread.Sleep(500);
yield return 2;
Thread.Sleep(500);
yield return 3;
Thread.Sleep(500);
yield return 4;
Thread.Sleep(500);
yield return 5;
Thread.Sleep(500);
yield return 6;
yield break;
}
}
All Replies
-
Monday, December 14, 2009 9:50 PM
Hi Philip,
you've hit a bug. We've fixed this for the upcoming release.
Thanks for the report!
Jeffrey- Marked As Answer by head.in.the.boxOwner Tuesday, December 15, 2009 2:00 AM

