@ceramicnetwork/core
Version:
Typescript implementation of the Ceramic protocol
17 lines • 878 B
TypeScript
import PQueue from 'p-queue';
import type { DiagnosticsLogger } from '@ceramicnetwork/common';
import { Observable } from 'rxjs';
import type { Subscription } from 'rxjs';
import type { PubsubMessage } from './pubsub-message.js';
import type { ObservableWithNext } from './observable-with-next.js';
export declare class PubsubRateLimit extends Observable<PubsubMessage> implements ObservableWithNext<PubsubMessage> {
private readonly pubsub;
private readonly logger;
private readonly queriesPerSecond;
private readonly rateLimitWarningsIntervalMs;
readonly queue: PQueue;
readonly maxQueuedQueries: number;
constructor(pubsub: ObservableWithNext<PubsubMessage>, logger: DiagnosticsLogger, queriesPerSecond: number, rateLimitWarningsIntervalMs?: number);
next(message: PubsubMessage): Subscription;
}
//# sourceMappingURL=pubsub-ratelimit.d.ts.map