Files
discord-decomp/modules/gateway/DispatcherWorkConstants.tsx
T
2026-11-01 12:12:55 +02:00

37 lines
1.4 KiB
TypeScript

// Metro module 12701 (f12702).
let c8751_0 = 2.0833333333333335;
export const DISPATCHER_STANDARD_TIMEOUT_MS = 50;
export const DISPATCHER_IDEAL_TIME_LIMIT_MS = 50;
export const DISPATCHER_MIN_DEADLINE_TIME_MS = 2.0833333333333335;
export const DISPATCHER_DEADLINE_OVERHEAD_MS = 3.3333333333333335;
export const NATIVE_WORK_DEADLINE_MS = 5.555555555555556;
export const NATIVE_WORK_BACKOFF_MS = 4.166666666666667;
export const DISPATCHER_LONG_TIMEOUT_MS = 200;
export const MAX_DISPATCHER_TIMEOUT_MS = 1000;
export const MAX_DISPATCHER_FLUSH_DEADLINE_TRIES = 2;
export const DISPATCHER_CALLBACK_MAX_TIME_REMAINING_MS = 50;
export class WorkIdleDeadline {
constructor(a0, _firedDueToMaxTimeout = false) {
this._deadlineMs = Math.max(c8751_0, a0);
this._browserDeadlineMs = a0;
this._firedDueToMaxTimeout = _firedDueToMaxTimeout;
this._startMs = performance.now();
}
timeRemaining() {
return Math.max(0, this._deadlineMs - (performance.now() - this._startMs));
}
get didTimeout() {
return this._firedDueToMaxTimeout;
}
get timeSinceExpiration() {
return performance.now() - (this._startMs + this._deadlineMs);
}
generateDeadlineMetrics() {
return {
isDeadlineNotIdeal: this._browserDeadlineMs < c8751_0,
deadlineMs: this._deadlineMs.toFixed(2),
timeSinceStartMs: (performance.now() - this._startMs).toFixed(2)
};
}
}