private void HandleIncomingRequest(CsMessage message) { if (message.containsKey("responseId")) { string uniqueId = message.value("responseId"); if (dispatcher_.ContainsKey(uniqueId)) { dispatcher_[uniqueId].Invoke(message); } } }
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(); }