5180 fichiers 38.5 Mo 0 téléchargements 185 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / wired / createPacketCooldownGate.ts
createPacketCooldownGate.ts 850 o Télécharger le fichier
export const WIRED_SNAPSHOT_REQUEST_COOLDOWN_MS = 100;

export interface PacketCooldownGate {
    request: (send: () => void) => boolean;
}

/**
 * Leading-edge cooldown for a single packet header. Matches PacketManager
 * (`getRatelimit()` 50ms on wired snapshots) and stays under GameMessageRateLimit
 * (~10 packets of one header per second). Extra calls inside the window are dropped.
 */
export const createPacketCooldownGate = (cooldownMs: number = WIRED_SNAPSHOT_REQUEST_COOLDOWN_MS, now: () => number = Date.now): PacketCooldownGate => {
    let lastSentAt = Number.NEGATIVE_INFINITY;

    return {
        request: (send) => {
            const currentTime = now();

            if (currentTime - lastSentAt < cooldownMs) return false;

            lastSentAt = currentTime;
            send();

            return true;
        }
    };
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser