Пример #1
0
        public void RemoveIDStation(string stationUUID)
        {
            m_mutexRouterTables.WaitOne();

            //Comprobamos si el Station UUID existe
            if (m_htStationUUID2Phy.Contains(stationUUID))
            {
                CCommunicationChannel PhysicalChannel = (CCommunicationChannel)(m_htStationUUID2Phy[stationUUID]);

                //Borramos la relación Station UUID -> Physical
                m_htStationUUID2Phy.Remove(stationUUID);

                //Borramos la relación Station UUID -> Address
                m_htStationUUID2Address.Remove(stationUUID);

                //Borramos la relación Physical -> Station ID
                List <string> listStationUUID = (List <string>)(m_htPhy2ListStationUUID[PhysicalChannel]);
                listStationUUID.Remove(stationUUID);

                if (listStationUUID.Count > 0)
                {
                    m_htPhy2ListStationUUID[PhysicalChannel] = listStationUUID;
                }
                else
                {
                    m_htPhy2ListStationUUID.Remove(PhysicalChannel);

                    //Como el canal de comunicaciones no tiene ninguna estación asociada lo eliminamos
                    PhysicalChannel.Dispose();
                    PhysicalChannel = null;
                }
            }

            m_mutexRouterTables.ReleaseMutex();
        }
Пример #2
0
 public void DeleteComChannel()
 {
     m_ComChannel.Dispose();
     m_ComChannel = null;
 }