Beispiel #1
0
        public void SendMessage(NodeIO.Message msg)
        {
            if (NodeProc == null)
            {
                return;
            }

            NodeProc.StandardInput.WriteLineAsync(NodeIO.MessageProcessor.PackMessage(msg));
        }
Beispiel #2
0
        private void NodeProc_OutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            NodeIO.Message msg = NodeIO.MessageProcessor.ParseMessage(e.Data);
            if (msg != null)
            {
                lock (InboundMessages)
                {
                    InboundMessages.Add(msg);
                }

                MessageReceived?.Invoke(this, EventArgs.Empty);
            }
        }
Beispiel #3
0
        public NodeIO.Message PopMessage()
        {
            lock (InboundMessages)
            {
                NodeIO.Message msg = null;

                if (InboundMessages.Count > 0)
                {
                    msg = InboundMessages[0];
                    InboundMessages.RemoveAt(0);
                }
                return(msg);
            }
        }