Table of Contents

Class BufferTime

Namespace
Bonsai.Reactive
Assembly
Bonsai.Core.dll

Represents an operator that projects each element of the sequence into zero or more buffers based on timing information.

Marble diagram

The BufferTime operator groups the notifications of the source sequence into chunks, where each chunk contains the elements emitted during the specified TimeSpan. The overlap between the elements in each chunk can be controlled using the TimeShift property.

If no TimeShift is provided, the chunks will be strictly non-overlapping, with a new chunk beginning when the previous chunk ends. If TimeShift is smaller than TimeSpan, chunks will be overlapping, with a new buffer created every TimeShift interval. Finally, if TimeShift is larger than TimeSpan, there will be a time gap between each chunk where elements from the source sequence may be dropped.

[Combinator]
public class BufferTime
Inheritance
BufferTime
Inherited Members

Properties

TimeShift

Gets or sets the interval between creation of consecutive buffers.

public TimeSpan? TimeShift { get; set; }

Property Value

TimeSpan?

Remarks

If no value is specified, the operator will generate consecutive non-overlapping buffers.

TimeSpan

Gets or sets the length of each buffer.

public TimeSpan TimeSpan { get; set; }

Property Value

TimeSpan

Methods

Process<TSource>(IObservable<TSource>)

Projects each element of an observable sequence into zero or more buffers based on timing information.

public IObservable<IList<TSource>> Process<TSource>(IObservable<TSource> source)

Parameters

source IObservable<TSource>

The source sequence to produce buffers over.

Returns

IObservable<IList<TSource>>

An observable sequence of buffers.

Type Parameters

TSource

The type of the elements in the source sequence.