ó
    Ö›‘hù  ã                   ón   • S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	J
r
  Sr\" \	5       " S S	5      5       rg
)z'
Log observer that maintains a buffer.
é    )Údeque)ÚDequeÚOptional)Úimplementeré   )ÚILogObserverÚLogEventi   c                   óZ   • \ rS rSrSr\4S\\   SS4S jjrS\	SS4S jr
S	\SS4S
 jrSrg)ÚLimitedHistoryLogObserveré   a�  
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}]
    >>>
ÚsizeÚreturnNc                 ó    • [        US9U l        g)z`
@param size: The maximum number of events to buffer.  If L{None}, the
    buffer is unbounded.
)ÚmaxlenN)r   Ú_buffer)Úselfr   s     ÚZC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/logger/_buffer.pyÚ__init__Ú"LimitedHistoryLogObserver.__init__%   s   € ô
 ).°TÑ(:ˆ�ó    Úeventc                 ó:   • U R                   R                  U5        g )N)r   Úappend)r   r   s     r   Ú__call__Ú"LimitedHistoryLogObserver.__call__,   s   € Ø�‰×Ñ˜EÕ"r   ÚotherObserverc                 ó:   • U R                    H  nU" U5        M     g)zn
Re-play the buffered events to another log observer.

@param otherObserver: An observer to replay events to.
N©r   )r   r   r   s      r   ÚreplayToÚ"LimitedHistoryLogObserver.replayTo/   s   € ð —\”\ˆEÙ˜%Ö ò "r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_DEFAULT_BUFFER_MAXIMUMr   Úintr   r	   r   r   r   Ú__static_attributes__© r   r   r   r      sJ   † ñð  .Eñ ;˜X c™]ð ;Èõ ;ð#˜hð #¨4ô #ð! lð !°t÷ !r   r   N)r%   Úcollectionsr   Útypingr   r   Úzope.interfacer   Ú_interfacesr   r	   r&   r   r)   r   r   Ú<module>r.      s<   ðñ
õ ß "å &ç /à#Ð ñ ˆ\Ó÷"!ð "!ó ñ"!r   