//********************************************************************* public static void SendData(SimulatorPacket pack) { Key _Pk = new Key(pack.PacketFrequency, pack.PacketChannel, pack.Destination); try { Type packet_type = null; if (pack != null) { packet_type = pack.GetType(); if (packet_type == typeof(Connect)) { _ConnectCounter++; if (_ConnectCounter == 36000) { _ConnectCounter = 0; } } else if (packet_type == typeof(ConnectionACK)) { _ConnectAckCounter++; if (_ConnectAckCounter == 36000) { _ConnectAckCounter = 0; } } ArrayList LocalPackets = null; if (_packets.ContainsKey(_Pk)) { LocalPackets = (ArrayList)_packets[_Pk]; if (LocalPackets == null) { LocalPackets = new ArrayList(); } LocalPackets.Add(pack); _packets[_Pk] = LocalPackets; } else { LocalPackets = new ArrayList(); LocalPackets.Add(pack); _packets.Add(_Pk, LocalPackets); } // Thread newThread = new Thread(() => ThreadableSendData(_Pk, pack)); // newThread.Name = "ThreadableSendData "; //newThread.Start(); ThreadPool.QueueUserWorkItem(new WaitCallback((s) => ThreadableSendData(_Pk, pack))); } } catch (Exception ex) { if (DebugLogEnabled) { AddToLog("[SendData] Exception:" + ex.Message); } } }
//********************************************************************* public void SendData(SimulatorPacket pack) { Key _Pk = new Key(pack.PacketBand, pack.PacketChannel, pack.Destination); try { if (pack != null) { if (pack.GetType() == typeof(Connect)) { _ConnectCounter++; if (_ConnectCounter == 36000) { _ConnectCounter = 0; } } else if (pack.GetType() == typeof(ConnectionACK)) { _ConnectAckCounter++; if (_ConnectAckCounter == 36000) { _ConnectAckCounter = 0; } } ArrayList LocalPackets = null; if (_packets.ContainsKey(_Pk)) { LocalPackets = (ArrayList)_packets[_Pk]; if (LocalPackets == null) { LocalPackets = new ArrayList(); } LocalPackets.Add(pack); _packets[_Pk] = LocalPackets; } else { LocalPackets = new ArrayList(); LocalPackets.Add(pack); _packets.Add(_Pk, LocalPackets); } } Thread newThread = new Thread(() => ThreadableSendData(_Pk, pack)); newThread.Start(); } catch (Exception ex) { AddToLog("[SendData] Exception:" + ex.Message); } }