ExtensionMethodsStateMachineTValue, TState, TTime Method (StreamNodeWithValueTValue, TTime, FuncTValue, TState, TState, TState)Naiad Help

[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, TTime
The 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

Reference