Skip to main content
Version: v8.0.0

createBatchDeliveryStrategy

Creates the built-in batch strategy.

Timeline for interval: 100 with messages A, B, C at 0/20/40ms and D at 300ms:

t=0 push(A) buffer=[A], open 100ms window
t=20 push(B) buffer=[A, B]
t=40 push(C) buffer=[A, B, C]
t=100 window closes → deliver([A, B, C])
t=300 push(D) buffer=[D], open window
t=400 window closes → deliver([D])

The delivered extra is the one of the last message in the batch. Exported so custom strategies can compose it.


Import
import { createBatchDeliveryStrategy } from "@hyper-fetch/sockets"

Parameters​

createBatchDeliveryStrategy<Data, Extra>(__namedParameters: Omit<BatchDeliveryType, strategy>)
Parameters
NameTypeDescription
__namedParameters
Omit<BatchDeliveryType, strategy>

Returns​

type DeliveryStrategyType<Input,Output,Extra> = (context: DeliveryStrategyContextType<Output, Extra>) => DeliveryControllerType<Input, Extra>;
DeliveryStrategyType<Data, Data[], Extra>