Exemple #1
0
        /// <summary>
        /// Process a control message received from the WM.
        /// </summary>
        private void ProcessWmControlMsg(KcdControlMsg msg)
        {
            Debug.Assert(msg is KcdConnectionRequest);
            KcdConnectionRequest req = (KcdConnectionRequest)msg;

            // Handle new KCD to connect.
            if (req.ConnectFlag)
            {
                Debug.Assert(!m_kcdTree.ContainsKey(req.KcdID));
                m_kcdTree[req.KcdID] = new KcdThreadHost(req.KcdID);
            }

            // Disconnect the KCD, if we didn't disconnect it yet.
            else
            {
                if (!m_kcdTree.ContainsKey(req.KcdID))
                {
                    return;
                }
                KcdThreadHost kcd = m_kcdTree[req.KcdID];
                if (kcd.ConnStatus == KcdThreadConnStatus.Disconnected)
                {
                    return;
                }
                HandleDisconnectedKcd(kcd, null);
            }
        }
Exemple #2
0
 /// <summary>
 /// Process an control messages received from the KCD.
 /// </summary>
 private static void ProcessKcdControlMsg(KcdControlMsg m)
 {
     // Dispatch the message.
     if (m is KcdConnectionNotice)
     {
         ProcessKcdConnectionNotice((KcdConnectionNotice)m);
     }
     else if (m is KcdDisconnectionNotice)
     {
         ProcessKcdDisconnectionNotice((KcdDisconnectionNotice)m);
     }
     else
     {
         throw new Exception("unexpected KCD control message received");
     }
 }
Exemple #3
0
 /// <summary>
 /// Process an control messages received from the KCD.
 /// </summary>
 private static void ProcessKcdControlMsg(KcdControlMsg m)
 {
     // Dispatch the message.
     if (m is KcdConnectionNotice) ProcessKcdConnectionNotice((KcdConnectionNotice)m);
     else if (m is KcdDisconnectionNotice) ProcessKcdDisconnectionNotice((KcdDisconnectionNotice)m);
     else throw new Exception("unexpected KCD control message received");
 }
Exemple #4
0
        /// <summary>
        /// Process a control message received from the WM.
        /// </summary>
        private void ProcessWmControlMsg(KcdControlMsg msg)
        {
            Debug.Assert(msg is KcdConnectionRequest);
            KcdConnectionRequest req = (KcdConnectionRequest)msg;

            // Handle new KCD to connect.
            if (req.ConnectFlag)
            {
                Debug.Assert(!m_kcdTree.ContainsKey(req.KcdID));
                m_kcdTree[req.KcdID] = new KcdThreadHost(req.KcdID);
            }

            // Disconnect the KCD, if we didn't disconnect it yet.
            else
            {
                if (!m_kcdTree.ContainsKey(req.KcdID)) return;
                KcdThreadHost kcd = m_kcdTree[req.KcdID];
                if (kcd.ConnStatus == KcdThreadConnStatus.Disconnected) return;
                HandleDisconnectedKcd(kcd, null);
            }
        }