Пример #1
0
    // Token: 0x060020E6 RID: 8422 RVA: 0x00079588 File Offset: 0x00077788
    private static global::NetClockTester.ValidityFlags TestValidity(ref global::NetClockTester test, ulong timeStamp, long minimalSendRateMS)
    {
        ulong timeInMillis = global::NetCull.timeInMillis;

        global::NetClockTester.ValidityFlags validityFlags = (timeInMillis >= timeStamp) ? ((global::NetClockTester.ValidityFlags) 0) : global::NetClockTester.ValidityFlags.AheadOfServerTime;
        if (test.Count > 0UL)
        {
            long num  = global::NetClockTester.Subtract(timeStamp, test.Send.Last);
            long num2 = global::NetClockTester.Subtract(timeInMillis, test.Receive.Last);
            test.Send.Sum     = global::NetClockTester.Add(test.Send.Sum, num);
            test.Receive.Sum  = global::NetClockTester.Add(test.Receive.Sum, num2);
            test.Count       += 1UL;
            test.Send.Last    = timeStamp;
            test.Receive.Last = timeInMillis;
            if (num < minimalSendRateMS)
            {
                validityFlags |= global::NetClockTester.ValidityFlags.TooFrequent;
            }
            long num3 = global::NetClockTester.Subtract(test.Send.Last, test.Send.First);
            long num4 = global::NetClockTester.Subtract(test.Receive.Last, test.Receive.First);
            if (test.Count >= 5UL)
            {
                if (num3 > num4 * 2L)
                {
                    validityFlags |= global::NetClockTester.ValidityFlags.OverTimed;
                }
            }
            else if (test.Count >= 3UL && num3 > num4 * 4L)
            {
                validityFlags |= global::NetClockTester.ValidityFlags.OverTimed;
            }
            global::NetClockTester.ValidityFlags lastTestFlags = test.LastTestFlags;
            test.LastTestFlags = validityFlags;
            if ((validityFlags & global::NetClockTester.ValidityFlags.TooFrequent) == global::NetClockTester.ValidityFlags.TooFrequent && (lastTestFlags & global::NetClockTester.ValidityFlags.TooFrequent) != global::NetClockTester.ValidityFlags.TooFrequent)
            {
                validityFlags  &= ~global::NetClockTester.ValidityFlags.TooFrequent;
                test.Count      = 1UL;
                test.Send.First = test.Send.Last;
                test.Send.Sum   = 0UL;
                if (num2 > 0L)
                {
                    test.Receive.First = (ulong)global::NetClockTester.Subtract(test.Receive.Last, (ulong)num2);
                    test.Receive.Sum   = (ulong)num2;
                }
                else
                {
                    test.Receive.First = test.Receive.Last;
                    test.Receive.Sum   = 0UL;
                }
            }
            return((validityFlags != (global::NetClockTester.ValidityFlags) 0) ? validityFlags : global::NetClockTester.ValidityFlags.Valid);
        }
        test.Send.Sum     = (test.Receive.Sum = 0UL);
        test.Send.First   = timeStamp;
        test.Send.Last    = timeStamp;
        test.Receive.Last = (test.Receive.First = timeInMillis);
        test.Count        = 1UL;
        return(validityFlags);
    }
Пример #2
0
        // Token: 0x060020ED RID: 8429 RVA: 0x000798DC File Offset: 0x00077ADC
        public void Add(global::NetClockTester.ValidityFlags vf)
        {
            switch (vf & (global::NetClockTester.ValidityFlags.TooFrequent | global::NetClockTester.ValidityFlags.OverTimed | global::NetClockTester.ValidityFlags.AheadOfServerTime))
            {
            case (global::NetClockTester.ValidityFlags) 0:
                if ((vf & global::NetClockTester.ValidityFlags.Valid) == global::NetClockTester.ValidityFlags.Valid)
                {
                    this.Valid += 1u;
                }
                break;

            case global::NetClockTester.ValidityFlags.TooFrequent:
                this.TooFrequent += 1u;
                break;

            case global::NetClockTester.ValidityFlags.OverTimed:
                this.OverTimed += 1u;
                break;

            case global::NetClockTester.ValidityFlags.TooFrequent | global::NetClockTester.ValidityFlags.OverTimed:
                this.OverTimed   += 1u;
                this.TooFrequent += 1u;
                break;

            case global::NetClockTester.ValidityFlags.AheadOfServerTime:
                this.AheadOfServerTime += 1u;
                break;

            case global::NetClockTester.ValidityFlags.TooFrequent | global::NetClockTester.ValidityFlags.AheadOfServerTime:
                this.AheadOfServerTime += 1u;
                this.TooFrequent       += 1u;
                break;

            case global::NetClockTester.ValidityFlags.OverTimed | global::NetClockTester.ValidityFlags.AheadOfServerTime:
                this.AheadOfServerTime += 1u;
                this.OverTimed         += 1u;
                break;

            case global::NetClockTester.ValidityFlags.TooFrequent | global::NetClockTester.ValidityFlags.OverTimed | global::NetClockTester.ValidityFlags.AheadOfServerTime:
                this.AheadOfServerTime += 1u;
                this.OverTimed         += 1u;
                this.TooFrequent       += 1u;
                break;
            }
        }
Пример #3
0
 // Token: 0x060020E5 RID: 8421 RVA: 0x0007955C File Offset: 0x0007775C
 public static global::NetClockTester.ValidityFlags TestValidity(ref global::NetClockTester test, ref uLink.NetworkMessageInfo info, long intervalMS, global::NetClockTester.ValidityFlags testFor)
 {
     global::NetClockTester.ValidityFlags validityFlags = global::NetClockTester.TestValidity(ref test, info.timestampInMillis, intervalMS);
     test.Results.Add(validityFlags & testFor);
     return(validityFlags);
 }
Пример #4
0
 // Token: 0x060020E4 RID: 8420 RVA: 0x00079540 File Offset: 0x00077740
 public static global::NetClockTester.ValidityFlags TestValidity(ref global::NetClockTester test, ref uLink.NetworkMessageInfo info, double intervalSec, global::NetClockTester.ValidityFlags testFor)
 {
     return(global::NetClockTester.TestValidity(ref test, ref info, (long)Math.Floor(intervalSec * 1000.0), testFor));
 }