import Balancer from './Balancer'; /** * Multicasts pushed values to a variable number of async iterable iterators * as receivers or subscribers. * * Does not buffer pushed values; if no receivers are registered, pushed * values are silently discarded. */ export default class Multicast implements AsyncIterable { readonly receivers: Set>; /** * Pushes a value to all registered receivers. */ push(value: A): this; /** * Pushes multiple values. */ pushMany(values: A[]): this; /** * Creates and registers a receiver. */ [Symbol.asyncIterator](): AsyncIterableIterator; }