private void RaiseUserquakeEvent(Packet packet) { if (packet.Code != Code.USERQUAKE) { return; } if (packet.Data == null || packet.Data.Length < 6) { return; } string[] data = packet.Data[5].Split(','); if (data.Length < 2) { return; } EPSPUserquakeEventArgs e = new EPSPUserquakeEventArgs() { ReceivedAt = ProtocolTime() }; Verifier.VerifyResult result = Verifier.VerifyUserquake(packet.Data[5], packet.Data[1], packet.Data[0], packet.Data[2], packet.Data[3], packet.Data[4], ProtocolTime()); e.IsExpired = result.isExpired; e.IsInvalidSignature = !result.isValidSignature; e.PublicKey = packet.Data[2]; e.AreaCode = data[1]; OnUserquake(this, e); }
private void PeerManager_OnUserquake(object sender, EPSPUserquakeEventArgs e) { OnUserquake(sender, e); }