tee_peer(
iterator: AsyncIterator[T],
buffer: deque[T],
peers: | Name | Type | Description |
|---|---|---|
iterator* | AsyncIterator[T] | The shared iterator. |
buffer* | deque[T] | The buffer for this peer. |
peers* | list[deque[T]] | |
lock* | AbstractAsyncContextManager[Any] |
An individual iterator of a tee.
This function is a generator that yields items from the shared iterator
iterator. It buffers items until the least advanced iterator has yielded them as
well.
The buffer is shared with all other peers.
The buffers of all peers.
The lock to synchronise access to the shared buffers.