INNER CODE UNIT · TypeScript
maxRelayBackoffMs
dmotz/trystero · packages/nostr/src/index.ts:40
const maxRelayBackoffMs = 15 * 60_000
const subscriptionRetryMs = 5_333
type RelayBackoffState = {
delayMs: number
untilMs: number
}
const relayBackoffs = new WeakMap<SocketClient, RelayBackoffState>()
const announcementMessages = relayManager.scoped<string>()
const retiredRelays = new WeakSet<SocketClient>()
const backoffRelay = (client: SocketClient): number => {
const previous = relayBackoffs.get(client)
const delayMs = Math.min(
previous?.delayMs
? Math.max(steadyAnnounceIntervalMs, previous.delayMs * 2)
: steadyAnnounceIntervalMs,