+
    üÐjù  ã                   óp   € R t ^ RIHt ^ RIHtHt ^ RIHt ^RIH	t	H
t
 Rt]! ]	4       ! R R4      4       tR# )	z'
Log observer that maintains a buffer.
)Údeque)ÚDequeÚOptional)Úimplementer)ÚILogObserverÚLogEventc                   ó`   a € ] tR t^t o Rt]3V 3R lR lltV 3R lR ltV 3R lR ltRt	V t
R	# )
Ú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}]
    >>>
c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )é   ÚsizeÚreturnN)r   Úint)ÚformatÚ__classdict__s   "€Ú8/usr/lib/python3/dist-packages/twisted/logger/_buffer.pyÚ__annotate__Ú&LimitedHistoryLogObserver.__annotate__%   s   ø€ ÷ ;ñ ;™X¡c�]ð ;Èñ ;ó    c                ó(   € \        VR7      V n        R# )z`
@param size: The maximum number of events to buffer.  If L{None}, the
    buffer is unbounded.
)ÚmaxlenN)r   Ú_buffer)Úselfr   s   &&r   Ú__init__Ú"LimitedHistoryLogObserver.__init__%   s   € ô
 ).°TÔ(:ˆŽr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úeventr   N)r   )r   r   s   "€r   r   r   ,   s   ø€ ÷ #ñ #™hð #¨4ñ #r   c                ó<   € V P                   P                  V4       R # )N)r   Úappend)r   r   s   &&r   Ú__call__Ú"LimitedHistoryLogObserver.__call__,   s   € Ø�‰×Ñ˜EÖ"r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   ÚotherObserverr   N)r   )r   r   s   "€r   r   r   /   s   ø€ ÷ !ñ !¡lð !°tñ !r   c                ó<   € V P                    F  pV! V4       K  	  R# )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$   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_DEFAULT_BUFFER_MAXIMUMr   r   r%   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s.   ø‡ € ñð  .E÷ ;ò ;÷#ð #÷!ö !r   r	   Ni   )r+   Úcollectionsr   Útypingr   r   Úzope.interfacer   Ú_interfacesr   r   r,   r	   © r   r   Ú<module>r4      s<   ðñ
õ ß "å &ç /à#Ð ñ ˆ\Ó÷"!ð "!ó ò"!r   