public static void Main(string[] args) { workspace.AddNodeRegistry(new StandardNodeRegistry()); var timerNode = CreateTimer(TimeSpan.FromTicks(1)); var debugNode = CreateDebug(); workspace.Bind(timerNode.Counter, debugNode.Input); Console.WriteLine("1"); Console.ReadKey(); Task.Run(() => timerNode.IsEnabled.OnNext(false)); Console.WriteLine("2"); Console.ReadKey(); Task.Run(() => timerNode.IsEnabled.OnNext(true)); Console.WriteLine("3"); Console.ReadKey(); Console.WriteLine("EXIT"); }
public override async Task Process(StreamWriter writer, Workspace workspace, string messageId, JToken args) { var from = args["from"]; var to = args["to"]; var fromNodeId = (string)from["node"]; var fromPinId = (string)from["pin"]; var toNodeId = (string)to["node"]; var toPinId = (string)to["pin"]; var fromNode = workspace.GetNode(fromNodeId); var outlet = fromNode.Outlets.GetSnapshot().FirstOrDefault(o => o.Id == fromPinId); var toNode = workspace.GetNode(toNodeId); var inlet = toNode.Inlets.GetSnapshot().FirstOrDefault(o => o.Id == toPinId); workspace.Bind(outlet, inlet); await PostMessages(writer, workspace, messageId, CreateAddLinkMessage(fromNodeId, fromPinId, toNodeId, toPinId)); }