HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/twisted/logger/__pycache__/_buffer.cpython-38.pyc
U

�b��@sZdZddlmZddlmZmZddlmZddlm	Z	m
Z
dZee	�Gdd	�d	��Zd
S)z'
Log observer that maintains a buffer.
�)�deque)�Deque�Optional)�implementer�)�ILogObserver�LogEventic@sHeZdZdZefeedd�dd�Zedd�dd�Z	e
dd	�d
d�ZdS)�LimitedHistoryLogObservera�
    L{ILogObserver} that stores events in a buffer of a fixed size::

        >>> from twisted.logger import LimitedHistoryLogObserver
        >>> history = LimitedHistoryLogObserver(5)
        >>> for n in range(10): history({'n': n})
        ...
        >>> repeats = []
        >>> history.replayTo(repeats.append)
        >>> len(repeats)
        5
        >>> repeats
        [{'n': 5}, {'n': 6}, {'n': 7}, {'n': 8}, {'n': 9}]
        >>>
    N)�size�returncCst|d�|_dS)zx
        @param size: The maximum number of events to buffer.  If L{None}, the
            buffer is unbounded.
        )�maxlenN)r�_buffer)�selfr
�r�8/usr/lib/python3/dist-packages/twisted/logger/_buffer.py�__init__%sz"LimitedHistoryLogObserver.__init__)�eventrcCs|j�|�dS)N)r
�append)rrrrr�__call__,sz"LimitedHistoryLogObserver.__call__)�
otherObserverrcCs|jD]}||�qdS)z�
        Re-play the buffered events to another log observer.

        @param otherObserver: An observer to replay events to.
        N)r
)rrrrrr�replayTo/s
z"LimitedHistoryLogObserver.replayTo)�__name__�
__module__�__qualname__�__doc__�_DEFAULT_BUFFER_MAXIMUMr�intrrrrrrrrrr	sr	N)
r�collectionsr�typingrr�zope.interfacer�_interfacesrrrr	rrrr�<module>s