tee_peer#

langchain_core.utils.iter.tee_peer(iterator: Iterator[T], buffer: deque[T], peers: list[deque[T]], lock: AbstractContextManager[Any]) Generator[T, None, None][source]#

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.

Parameters:
  • iterator (Iterator[T]) – The shared iterator.

  • buffer (deque[T]) – The buffer for this peer.

  • peers (list[deque[T]]) – The buffers of all peers.

  • lock (AbstractContextManager[Any]) – The lock to synchronise access to the shared buffers.

Yields:

The next item from the shared iterator.

Return type:

Generator[T, None, None]