SDK y paquetes@spire/busindexclasses

Class: ValkeyReplayStore

Referencia de @spire/bus generada de su TSDoc.

ImplementadoSin versión del tren todavía· generada desde node_modules/@spire/bus/package.json

Página generada desde el TSDoc de @spire/bus. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

Class: ValkeyReplayStore

Anti-replay compartido entre réplicas (nats): SET key id NX PX ttl atómico; si ya existía se compara el id guardado.

Sin cuota por fuente: la memoria la acota el TTL en Valkey (la ventana), no un tope local; el allowlist y el rate del router van delante. Una cuota compartida entre réplicas (contador por fuente y ventana) es follow-up.

Implements

Constructors

Constructor

new ValkeyReplayStore(client, prefix?, opts?): ValkeyReplayStore

Parameters

client

IValkeyLike

prefix?

string = 'spire:replay:'

opts?

IReplayOptions = {}

Returns

ValkeyReplayStore

Methods

check()

check(source, idHex, nonceHex, tsMs, nowMs): Promise<ReplayResult>

Parameters

source

string

idHex

string

nonceHex

string

tsMs

bigint

nowMs

bigint

Returns

Promise<ReplayResult>

Implementation of

IReplayStore.check


reserveAll()

reserveAll(): void

Reserva para cada source lo que un rate perSec/burst admite en una ventana; se acumula (una fuente en varias rutas suma cada una). Todas o ninguna: si no caben lanza ReplayBudgetError sin reservar nada. El router la llama al registrar cada ruta con los emisores admitidos.

Returns

void

Implementation of

IReplayStore.reserveAll