Share via


AdvanceTimeGenerationSettings Class

Defines how and when the engine should advance application time by inserting a Current Time Increment (CTI) event.

Inheritance Hierarchy

System.Object
  Microsoft.ComplexEventProcessing.AdvanceTimeGenerationSettings

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

Syntax

public sealed class AdvanceTimeGenerationSettings

The AdvanceTimeGenerationSettings type exposes the following members.

Constructors

  Name Description
Public method AdvanceTimeGenerationSettings(TimeSpan, TimeSpan) Initializes a new instance of the AdvanceTimeSettings class with the specified frequency and delay settings.
Public method AdvanceTimeGenerationSettings(UInt32, TimeSpan) Initializes a new instance of the AdvanceTimeSettings class with specified frequency and delay.
Public method AdvanceTimeGenerationSettings(TimeSpan, TimeSpan, Boolean) Initializes a new instance of the AdvanceTimeSettings class with the specified frequency, delay and advance to infinity setting .
Public method AdvanceTimeGenerationSettings(UInt32, TimeSpan, Boolean) Initializes a new instance of the AdvanceTimeSettings class with specified frequency, delay and advance to infinity settings.

Top

Properties

  Name Description
Public property AdvanceTimeFrequencyType Gets the policy that determines when the engine advances application time by generating a Current Time Increment (CTI) event.
Public property AdvanceToInfinityOnShutdown Gets a value that determines whether a final CTI with a time stamp of positive infinity should be inserted when the query is shut down. This is used to flush all remaining events from the query's operators. The default value is false.
Public property Delay Gets the time span that defines the timestamp of the generated CTIs as a delay of time T with respect to the last received event. A positive value implements a grace period to allow for out of order events. Smaller values reduce latency.
Public property Duration Gets the application time span that must elapse since the last Current Time Increment (CTI) in terms of input event timestamps before the engine advances time again by generating a new CTI event.
Public property EventCount Gets the event count that defines the number of events that must be received from the event source before the engine advances time again by generating a Current Time Increment (CTI) event.

Top

Methods

  Name Description
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method ToString (Inherited from Object.)

Top

Remarks

The temporal model of StreamInsight is based only on application time and never on system time. This means that all temporal operators refer to the timestamp of the events and never to the system clock of the host machine. As a result, applications must communicate their current application time to the StreamInsight server. Application time for a given application depends on many different aspects in the context of the application. Ultimately it is the responsibility of the application developer to provide the appropriate application time to the StreamInsight server.

During query processing, application time is driven by Current Time Increment (CTI) events. A CTI is a punctuation event that is a central component of the StreamInsight temporal model. CTIs are used to commit sequences of events and release computed results to the query output by asserting to the StreamInsight server that certain parts of the timeline will not change any more. Hence, it is crucial to enqueue CTIs along with events into the input event stream in order to produce any result and to flush the state of stateful operators. 

An object of type AdvanceTimeGenerationSettings can be used in the context of a query binding as well as in the definition of an input adapter factory. Its parameters define declaratively how CTI events will be injected into the stream, as opposed to enqueue CTIs programmatically through EnqueueCtiEvent. For more information, see Advancing Application Time.

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 Namespace