Defines how and when the engine should advance application time by inserting a Current Time Increment (CTI) event.
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Thetype exposes the following members.
|AdvanceTimeGenerationSettings(TimeSpan, TimeSpan)||Initializes a new instance of the AdvanceTimeSettings class with the specified frequency and delay settings.|
|AdvanceTimeGenerationSettings(UInt32, TimeSpan)||Initializes a new instance of the AdvanceTimeSettings class with specified frequency and delay.|
|AdvanceTimeGenerationSettings(TimeSpan, TimeSpan, Boolean)||Initializes a new instance of the AdvanceTimeSettings class with the specified frequency, delay and advance to infinity setting .|
|AdvanceTimeGenerationSettings(UInt32, TimeSpan, Boolean)||Initializes a new instance of the AdvanceTimeSettings class with specified frequency, delay and advance to infinity settings.|
|AdvanceTimeFrequencyType||Gets the policy that determines when the engine advances application time by generating a Current Time Increment (CTI) event.|
|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.|
|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.|
|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.|
|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.|
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.