CepStream Class

Provides the extension methods used for writing LINQ queries over a stream of CEP events.

Inheritance Hierarchy

System.Object
  Microsoft.ComplexEventProcessing.Linq.CepStream

Namespace:  Microsoft.ComplexEventProcessing.Linq
Assembly:  Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)

Syntax

public static class CepStream

The CepStream type exposes the following members.

Methods

  Name Description
Public methodStatic member AlterEventDuration<TPayload> Changes the duration of the input events. This method does not change the start time of an event.
Public methodStatic member AlterEventLifetime<TPayload> Alters the lifetime of the events in the stream. This method can change both the start time and end time of an event.
Public methodStatic member ClipEventDuration<TSource, TClip> Shortens the lifetime of events in sourceStream to the start time of the next corresponding event in clipStream matched by matchExpression.
Public methodStatic member CountByStartTimeWindow<TPayload>(CepStream<TPayload>, UInt32) Groups input stream events into windows of events based on a given number of unique event start times using the default output policy. The window slides when a new event arrives that starts at a different time.
Public methodStatic member CountByStartTimeWindow<TPayload>(CepStream<TPayload>, UInt32, CountWindowOutputPolicy) Groups input stream events into windows of events based on a given number of unique event start times. The window slides when a new event arrives that starts at a different time.
Public methodStatic member CountByStartTimeWindow<TPayload>(CepStream<TPayload>, UInt32, WindowInputPolicy, CountWindowOutputPolicy) Groups input stream events into windows of events based on a given number of unique event start times. The window slides when a new event arrives that starts at a different time.
Public methodStatic member GroupBy<TPayload, TGroupingKey>(CepStream<TPayload>, Expression<Func<TPayload, TGroupingKey>>) Partitions the input stream by the specified grouping key.
Public methodStatic member GroupBy<TPayload, TGroupingKey, TResult>(CepStream<TPayload>, Expression<Func<TPayload, TGroupingKey>>, Expression<Func<TPayload, TResult>>) Groups the source stream by the specified key selector functions and projects results using the element selector function.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan) Transforms a stream to a window stream where each member is a CepWindow using the default output policy. The window is defined by the constant window size and hop size timespans.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. The window is defined by the constant window size and hop size timespans.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan, DateTime) Transforms a stream to a window stream where each member is a CepWindow using the default output policy. The window is defined by constant window size and hop size timespans. You can also provide an alignment time as a reference for the starting point for the window.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan, WindowInputPolicy, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. The window is defined by the constant window size and hop size timespans. You can also provide an alignment time as a reference for the starting point for the window.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan, DateTime, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. The window is defined by constant window size and hop size timespans. You can also provide an alignment time as a reference for the starting point for the window.
Public methodStatic member HoppingWindow<TPayload>(CepStream<TPayload>, TimeSpan, TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy) The window is defined by constant window size and hop size timespans. You can also provide an alignment time as a reference for the starting point of the window.
Public methodStatic member IsEmpty<TPayload> Function used in queries to indicate a left anti-semi-join (LASJ).
Public methodStatic member Join<TOuter, TInner, TKey, TResult> Joins the events from the outer stream with events from the inner stream on the given join key.
Public methodStatic member OrderBy<TPayload, TOrderKey> Orders the input stream by the rankSelector.
Public methodStatic member OrderByDescending<TPayload, TOrderKey> Orders the input stream by the rankSelector in descending order.
Public methodStatic member Scan<TInputEvent, TInputPayload, TOutputPayload> Scans an input stream using a user-defined stream operator.
Public methodStatic member Select<TInput, TResult>(CepOrderedStream<TInput>, Expression<Func<TInput, TResult>>) Given an ordered stream, this method produces an ordered stream that can be used for ranking.
Public methodStatic member Select<TPayload, TResult>(CepStream<TPayload>, Expression<Func<TPayload, TResult>>) Projects events from input stream using a projections expression.
Public methodStatic member Select<TInput, TResult>(CepWindowStream<CepWindow<TInput>>, Expression<Func<CepWindow<TInput>, TResult>>) Maps a window stream to a stream based on a given mapping expression.
Public methodStatic member Select<TInput, TOutput>(ICepEnumerable<TInput>, Expression<Func<TInput, TOutput>>) Projects each event of an enumerable input stream into a new event.
Public methodStatic member SelectMany<TInput, TResult>(CepWindowStream<CepWindow<TInput>>, Expression<Func<CepWindow<TInput>, CepWindow<TInput>>>, Expression<Func<CepWindow<TInput>, TInput, TResult>>) Supports order by operation against a windowed stream.
Public methodStatic member SelectMany<TInput, TBind, TResult>(CepStream<TInput>, Expression<Func<CepStream<TInput>, CepStream<TBind>>>, Expression<Func<TInput, TBind, TResult>>) Produces a stream based on the cross join of two input streams.
Public methodStatic member SelectMany<TInput, TGroupingKey, TBind, TResult>(CepGroupingStreams<TInput, TGroupingKey>, Expression<Func<CepStream<TInput>, CepStream<TBind>>>, Expression<Func<IKey<TGroupingKey>, TBind, TResult>>) Supports adding query logic inside a Group and Apply.
Public methodStatic member SelectMany<TInput, TGroupingKey, TBind, TResult>(CepGroupingStreams<TInput, TGroupingKey>, Expression<Func<CepStream<TInput>, CepWindowStream<TBind>>>, Expression<Func<IKey<TGroupingKey>, TBind, TResult>>) Produces a stream based on the cross join of two input streams.
Public methodStatic member ShiftEventTime<TPayload>(CepStream<TPayload>, Expression<Func<CepEvent, DateTime>>) Shifts the event start time to a new time stamp without changing the lifetime.
Public methodStatic member ShiftEventTime<TPayload>(CepStream<TPayload>, Expression<Func<CepEvent, TimeSpan>>) Shifts the event start time by the specified timespan without changing the lifetime.
Public methodStatic member SnapshotWindow<TPayload>(CepStream<TPayload>) Transforms a stream to a window stream where each member is a CepWindow using the default output policy. Each window is a snapshot window that is defined by the closest event endpoints in the stream.
Public methodStatic member SnapshotWindow<TPayload>(CepStream<TPayload>, SnapshotWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. Each window is a snapshot window that is defined by the closest event endpoints in the stream.
Public methodStatic member SnapshotWindow<TPayload>(CepStream<TPayload>, WindowInputPolicy, SnapshotWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. Each window is a snapshot window that is defined by the closest event endpoints in the stream.
Public methodStatic member Take<TPayload>(CepOrderedStream<TPayload>, UInt32) Given an ordered stream, takes a given number of events from each window.
Public methodStatic member Take<TInput, TResult>(CepOrderedStream<TInput>, UInt32, Expression<Func<CepRankedEvent<TInput>, TResult>>) Takes a given number of events from each window and also evaluates the given expression. This is used for cases in which you want to project the rank into the result of Take().
Public methodStatic member ThenBy<TPayload, TOrderKey> Orders an ordered stream by another orderKey as indicated by rankSelector.
Public methodStatic member ThenByDescending<TPayload, TOrderKey> Orders an ordered stream by another orderKey as indicated by rankSelector.
Public methodStatic member ToEdgeEnumerable<TPayload>(CepStream<TPayload>) Converts a CepStream of edge events to an event sink that implements the IEnumerable interface. The order of events is FullyOrdered.
Public methodStatic member ToEdgeEnumerable<TPayload>(CepStream<TPayload>, StreamEventOrder) Converts a CepStream of edge events with the specified event order to an event sink that implements the IEnumerable interface.
Public methodStatic member ToEdgeStream<TInput, TPayload> Converts an enumerable input stream to a stream of edge events, and provides the temporal characteristics of the input.
Public methodStatic member ToEnumerable<TPayload>(CepStream<TPayload>) Converts a stream of events to enumerable output by removing event headers and discarding CTI events.
Public methodStatic member ToEnumerable<TPayload>(CepStream<TPayload>, StreamEventOrder) Converts a stream of events to enumerable output with the specified event order by removing event headers and discarding CTI events.
Public methodStatic member ToIntervalEnumerable<TPayload>(CepStream<TPayload>) Converts a CepStream of interval events to an event sink that implements the IEnumerable interface. The order of events is FullyOrdered.
Public methodStatic member ToIntervalEnumerable<TPayload>(CepStream<TPayload>, StreamEventOrder) Converts a CepStream of interval events with the specified event order to an event sink that implements the IEnumerable interface.
Public methodStatic member ToIntervalStream<TInput, TPayload> Converts an enumerable input stream to a stream of interval events, and provides the temporal characteristics of the input.
Public methodStatic member ToPointEnumerable<TPayload>(CepStream<TPayload>) Converts a CepStream of point events to an event sink that implements the IEnumerable interface. The order of events is FullyOrdered.
Public methodStatic member ToPointEnumerable<TPayload>(CepStream<TPayload>, StreamEventOrder) Converts a CepStream of point events with the specified event order to an event sink that implements the IEnumerable interface.
Public methodStatic member ToPointEventStream<TPayload> Changes the events in an input stream to point events by keeping only the event start times.
Public methodStatic member ToPointStream<TInput, TPayload>
Public methodStatic member ToStream<TPayload>(IEnumerable<EdgeEvent<TPayload>>, Application, AdvanceTimeSettings, String)
Public methodStatic member ToStream<TPayload>(IEnumerable<IntervalEvent<TPayload>>, Application, AdvanceTimeSettings, String)
Public methodStatic member ToStream<TPayload>(IEnumerable<PointEvent<TPayload>>, Application, AdvanceTimeSettings, String)
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan) Transforms a stream to a window stream where each member is a CepWindow using the default output policy. A tumbling window is a special kind of hopping window where window size and hop size are the same.
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. A tumbling window is a special kind of hopping window where window size and hop size are the same.
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan, DateTime) Transforms a stream to a window stream where each member is a CepWindow using the default output policy. A tumbling window is a special kind of hopping window where window size and hop size are the same. You can also provide an alignment time as a reference for the starting point of the window.
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan, WindowInputPolicy, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. A tumbling window is a special kind of hopping window where window size and hop size are the same. You can also provide an alignment time as a reference for the starting point of the window.
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan, DateTime, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. A tumbling window is a special kind of hopping window where window size and hop size are the same. You can also provide an alignment time as a reference for the starting point of the window.
Public methodStatic member TumblingWindow<TPayload>(CepStream<TPayload>, TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy) Transforms a stream to a window stream where each member is a CepWindow. A tumbling window is a special kind of hopping window where window size and hop size are the same. You can also provide an alignment time as a reference for the starting point of the window.
Public methodStatic member Union<TPayload> Unions two streams together into one stream.
Public methodStatic member Where<TPayload>(CepStream<TPayload>, Expression<Func<TPayload, Boolean>>) Filters events from an input stream using a given filter function.
Public methodStatic member Where<TInput>(ICepEnumerable<TInput>, Expression<Func<TInput, Boolean>>) Filters events from an enumerable input stream using the specified filter expression.

Top

Remarks

CepStream is a collection of the extension methods. In general, the extension methods return a LINQ method call expression. The method calls capture the invocation sequence in a canonical form that is later translated into a runnable CEP query.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.ComplexEventProcessing.Linq Namespace