Пример #1
0
        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");
        }
Пример #2
0
        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));
        }