Class TumblingWindowExtensions
Provides extension method for tumbling window transformation of a collection.
Inheritance
Inherited Members
Namespace: Scaleout.Streaming.TimeWindowing.Linq
Assembly: Scaleout.Streaming.TimeWindowing.dll
Syntax
public static class TumblingWindowExtensions
Methods
| Improve this Doc View SourceToTumblingWindows<TSource>(IEnumerable<TSource>, Func<TSource, DateTime>, DateTime, DateTime, TimeSpan)
Transforms a collection into an enumerable collection of fixed-time windows. The source collection must be sorted chronologically.
Declaration
public static IEnumerable<ITimeWindow<TSource>> ToTumblingWindows<TSource>(this IEnumerable<TSource> source, Func<TSource, DateTime> timestampSelector, DateTime startTime, DateTime endTime, TimeSpan windowDuration)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<TSource> | source | The sequence of elements to transform. |
System.Func<TSource, System.DateTime> | timestampSelector | A function to extract a timestamp from an element. |
System.DateTime | startTime | Start time (inclusive) of the first window. |
System.DateTime | endTime | End time (exclusive) for the last window. |
System.TimeSpan | windowDuration | Duration of each time window. This is a maximum value that may be shortened for the last window in the returned sequence (see remarks). |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ITimeWindow<TSource>> | An enumerable set of ITimeWindow<TElement> collections. |
Type Parameters
Name | Description |
---|---|
TSource | The type of objects in the source collection. |
Remarks
The method returns a sequence of ITimeWindow<TElement> elements, where each window is an enumerable collection of elements from the source collection whose timestamp falls within its specified range. The StartTime is inclusive and the EndTime is exclusive.
The last window returned by this method may have a shorter duration than what is specified
by the windowDuration
argument. This happens when the duration would cause
the window to extend beyond the specified endTime
.