HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/usr/lib/python3/dist-packages/twisted/logger/__pycache__/_buffer.cpython-38.pyc
U


W[��@sHdZddlmZddlmZddlmZdZee�Gdd�de��Z	d	S)
z'
Log observer that maintains a buffer.
�)�deque)�implementer�)�ILogObserveric@s,eZdZdZefdd�Zdd�Zdd�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}]
        >>>
    cCst|d�|_dS)z�
        @param size: The maximum number of events to buffer.  If L{None}, the
            buffer is unbounded.
        @type size: L{int}
        )�maxlenN)r�_buffer)�self�size�r�8/usr/lib/python3/dist-packages/twisted/logger/_buffer.py�__init__&sz"LimitedHistoryLogObserver.__init__cCs|j�|�dS)N)r�append)r	�eventrrr�__call__/sz"LimitedHistoryLogObserver.__call__cCs|jD]}||�qdS)z�
        Re-play the buffered events to another log observer.

        @param otherObserver: An observer to replay events to.
        @type otherObserver: L{ILogObserver}
        N)r)r	Z
otherObserverrrrr�replayTo3s
z"LimitedHistoryLogObserver.replayToN)�__name__�
__module__�__qualname__�__doc__�_DEFAULT_BUFFER_MAXIMUMr
rrrrrrrs	rN)
r�collectionsrZzope.interfacerZ	_observerrr�objectrrrrr�<module>s