[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 outputs 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<TOutput>, TTime> StateMachine<TValue, TState, TOutput, TTime>( this Stream<NodeWithValue<TValue>, TTime> nodes, Func<TValue, TState, Pair<TState, TOutput>> transitionSelector ) where TTime : Object, Time<TTime>
Parameters
- nodes
- Type: Microsoft.Research.NaiadStreamNodeWithValueTValue, TTime
The stream of nodes with values. - transitionSelector
- Type: SystemFuncTValue, TState, PairTState, TOutput
A function from current value and state, to new state and output.
Type Parameters
- TValue
- The type of value associated with each node.
- TState
- The type of state associated with each node.
- TOutput
- The type of output produced by each node.
- TTime
- The type of timestamp on each record.
Return Value
Type: StreamNodeWithValueTOutput, TTimeThe stream of outputs produced by transitions.
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