GraphShell Class

Container and controller for nodes.

Definition

Namespace: Quine.Graph
Assembly: Quine.Graph (in Quine.Graph.dll) Version: 1.0.0+0ea0706914ee4edf2b0ed66bec3ab4d062a43b68
C#
public sealed class GraphShell : GraphSchemaHook<GraphState>
Inheritance
Object    GraphSchemaHook    GraphSchemaHookGraphState    GraphShell

Remarks

Incrementally constructed graph should not be considered runnable because ctors of nodes may use introspection (e.g., finding out the number of successor nodes). In these cases, introspection will return wrong results and the graph will not run properly. The state-based constructor must ALWAYS be used to run the graph.

Constructors

GraphShell Constructor. The graph cannot be run before Build has been invoked.

Properties

Id
(Inherited from GraphSchemaHook)
Nodes 
Owner Parent/owner of this node, or null.
(Inherited from GraphSchemaHook)
PathId Provides IDs of all job nodes from the root (1st element) to this. The byte array is a sequence of integer ids with variable-length encoding (7-bit).
(Inherited from GraphSchemaHook)
State Strongly-typed state. This is NOT an override, but hiding.
(Inherited from GraphSchemaHookT)

Methods

Build This method must be invoked before starting the graph. For technical reasons, two-phase initialization is necessary.
Cancel Cancels graph execution. This method is a no-op if the graph is not currently running (not started or completed).
RunAsync Starts an asynchronous run of the graph. When completed, all state is finalized and won't be changed asynchronously. This method can be invoked only once.

Events

InteractiveQuery Fired when a node is requesting interactive input.
ItemProcessing Fired when a node starts processing a message, ends processing, or reports progress.
RunState Fired on graph/node run state change.
ShellTrace Fired on every trace message.

See Also