[This is preliminary documentation and is subject to change.]
Given a stream of values associated with nodes, maintains a state machine for each node,
and produces a stream of new states on each transition, based on the given transitionSelector.
Namespace: Microsoft.Research.Naiad.Frameworks.GraphLINQ
Assembly: Microsoft.Research.Naiad.GraphLINQ (in Microsoft.Research.Naiad.GraphLINQ.dll) Version: 0.5.0.0 (0.5.0.0)
Syntax
C#
public static Stream<NodeWithValue<TState>, TTime> StateMachine<TValue, TState, TTime>( this Stream<NodeWithValue<TValue>, TTime> nodes, Func<TValue, TState, TState> transitionSelector, TState defaultState ) where TState : Object, IEquatable<TState> where TTime : Object, Time<TTime>
Parameters
- nodes
- Type: Microsoft.Research.NaiadStreamNodeWithValueTValue, TTime
The stream of nodes with values. - transitionSelector
- Type: SystemFuncTValue, TState, TState
A function from current value and state, to new state. - defaultState
- Type: TState
The default state associated with a node.
Type Parameters
- TValue
- The type of value associated with each node.
- TState
- The type of state associated with each node.
- TTime
- The type of timestamp on each record.
Return Value
Type: StreamNodeWithValueTState, TTimeThe stream of changed states at each node.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type StreamNodeWithValueTValue, TTime. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).See Also