INNER CODE UNIT · TypeScript
backoffRelay
dmotz/trystero · packages/nostr/src/index.ts:52
const backoffRelay = (client: SocketClient): number => {
const previous = relayBackoffs.get(client)
const delayMs = Math.min(
previous?.delayMs
? Math.max(steadyAnnounceIntervalMs, previous.delayMs * 2)
: steadyAnnounceIntervalMs,
maxRelayBackoffMs
)
relayBackoffs.set(client, {delayMs, untilMs: Date.now() + delayMs})
return delayMs
}
const getRelayBackoffMs = (client: SocketClient): number => {
const state = relayBackoffs.get(client)
if (!state) {