public void UpdateLoad(netcardload load) { if (_loadQueue.Count >= LoadQueueMaxLength) { _loadQueue.Dequeue(); } _loadQueue.Enqueue(load); _txSize = load.nTXSize; _rxSize = load.nRXSize; _txRate = load.nTXRate; _rxRate = load.nRXRate; }
public g2e_getcardload() { nCardCount = 0; Card = new netcardload[10]; for(int i = 0; i < 10; i++) { Card[i] = new netcardload(); } }
public void UpdateNetworkLoad(netcardload[] cardLoads) { lock (_networkCards.SyncRoot) { if (cardLoads != null && cardLoads.Length == _networkCards.Count) { for (int i = 0; i < cardLoads.Length; i++) { NetworkCardInfo cardInfo = _networkCards[i] as NetworkCardInfo; cardInfo.UpdateLoad(cardLoads[i]); } } } }
private void MessageReceived(GameServer server, IProtocol message) { switch ((ProtocolDef)message.ProtocolId) { case ProtocolDef.g2e_getcardload_def: { g2e_getcardload protocol = message as g2e_getcardload; netcardload[] loads = new netcardload[protocol.nCardCount]; Array.Copy(protocol.Card, loads, loads.Length); server.UpdateNetworkLoad(loads); } break; case ProtocolDef.g2e_getnetinfo_def: { g2e_getnetinfo protocol = message as g2e_getnetinfo; netcardinfo[] infos = new netcardinfo[protocol.nCardCount]; Array.Copy(protocol.Card, infos, infos.Length); server.UpdateNetcardInfo(protocol.szHostName, protocol.szSystemName, infos); } break; default: break; } }