@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
37 lines • 1.05 kB
TypeScript
import { GossipQueue, LinearGossipQueueOpts } from "./types.js";
/**
* Default gossip queue for all topics except for beacon_attestation
* Support LIFO and FIFO type.
*/
export declare class LinearGossipQueue<T> implements GossipQueue<T> {
private readonly opts;
private readonly list;
private _dropRatio;
private recentDrop;
private processedCountSinceDrop;
constructor(opts: LinearGossipQueueOpts);
get length(): number;
get keySize(): number;
getDataAgeMs(): number[];
get dropRatio(): number;
clear(): void;
/**
* Add item to gossip queue.
* Return number of items dropped
*/
add(item: T): number;
next(): T | null;
getAll(): T[];
/**
* Drop up to some ratio of items from the queue
* ratio is from 0 to 1 inclusive
* Return number of items dropped
*/
private dropByRatio;
/**
* Drop up to some number of items from the queue
* Return number of items dropped
*/
private dropByCount;
}
//# sourceMappingURL=linear.d.ts.map