Open Agent Loops
API Reference

BoundedBuffer

@open-agent-loops/core


Defined in: primitives/bounded-buffer.ts:137

A bounded FIFO buffer with a pluggable OverflowPolicy. See the module:primitives/bounded-buffer | module docs for the backpressure model.

Extended by

Type Parameters

Type Parameter
T

Accessors

dropped

Get Signature

get dropped(): number;

Defined in: primitives/bounded-buffer.ts:170

Total items dropped (evicted + refused) over this buffer's lifetime.

Returns

number


highWater

Get Signature

get highWater(): number;

Defined in: primitives/bounded-buffer.ts:175

The largest size this buffer has reached — the backpressure read.

Returns

number


size

Get Signature

get size(): number;

Defined in: primitives/bounded-buffer.ts:165

Number of items currently buffered.

Returns

number

Constructors

Constructor

new BoundedBuffer<T>(options): BoundedBuffer<T>;

Defined in: primitives/bounded-buffer.ts:153

Parameters

ParameterTypeDescription
optionsBoundedBufferOptions<T>Capacity, overflow policy, and drain mode; see BoundedBufferOptions.

Returns

BoundedBuffer<T>

Throws

If capacity is not >= 1 (and not Infinity).

Methods

clear()

clear(): void;

Defined in: primitives/bounded-buffer.ts:235

Drop every buffered item. Does not reset dropped / highWater.

Returns

void


drain()

drain(): T[];

Defined in: primitives/bounded-buffer.ts:228

Remove and return buffered items per mode: the single oldest item for "one-at-a-time", or every buffered item for "all". Returns an empty array when empty — safe to pass directly as a drain hook.

Returns

T[]

The drained items in FIFO order.


push()

push(...items): PushResult<T>;

Defined in: primitives/bounded-buffer.ts:186

Push one or more items at the back of the buffer, applying the OverflowPolicy per item when at capacity.

Parameters

ParameterTypeDescription
...itemsT[]The item(s) to push, in order.

Returns

PushResult<T>

A PushResult accounting for every pushed item.

Properties

PropertyTypeDescriptionDefined in
modeDrainModeDrain policy — mutable so a caller can switch one-at-a-time/all at runtime.primitives/bounded-buffer.ts:143

On this page