Exemplo n.º 1
0
 private void HandleIncomingRequest(CsMessage message)
 {
     if (message.containsKey("responseId"))
     {
         string uniqueId = message.value("responseId");
         if (dispatcher_.ContainsKey(uniqueId))
         {
             dispatcher_[uniqueId].Invoke(message);
         }
     }
 }
Exemplo n.º 2
0
        private void StartMessagesListenerThread()
        {
            ThreadStart listen = () =>
            {
                CsMessage message = null;
                while (true)
                {
                    message = translater_.getMessage();

                    if (message.containsKey("verbose"))
                    {
                        Console.WriteLine("\n");
                        Console.WriteLine("  ====================");
                        Console.WriteLine("  | Received message |");
                        Console.WriteLine("  ====================");
                        message.show();
                    }

                    if (message.containsKey("command") &&
                        "__quit" == message.value("command"))
                    {
                        break;
                    }

                    HandleIncomingRequest(message);
                }

                Console.WriteLine("\n\n  --> Message listener has been stopped." +
                                  "No further messages will be processed...");

                // for quit message handler
                HandleIncomingRequest(message);
            };

            messagesListenerThread_ = new Thread(listen);
            messagesListenerThread_.IsBackground = true;
            messagesListenerThread_.Start();
        }