← Back
Editing: proto_helpers.cpython-38.pyc
U W[p � @ sP d Z ddlmZmZ ddlmZmZ ddlmZ ddl m Z mZ ddlm Z ddlmZ ddlmZmZmZ dd lmZ dd lmZmZmZmZmZmZmZmZmZm Z m!Z! ddl"m#Z# ddl$m%Z% dd l&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0m1Z1m2Z2 ddl3m4Z4 G dd� de)j5�Z6G dd� de'j7�Z8G dd� d�Z9e eee�G dd� d��Z:G dd� de:�Z;G dd� de�Z<e e �G dd� de=��Z>e e�G d d!� d!e=��Z?e eeeeee!�G d"d#� d#e=��Z@ee@�D ]ZAe eAe@� �q�G d$d%� d%e@e.�ZBe eeee�G d&d'� d'e=��ZCG d(d)� d)e=�ZDd*d+� ZEe e4�G d,d-� d-e��ZFd.S )/zJ Assorted functionality which is commonly useful when writing unit tests. � )�division�absolute_import)�AF_INET�AF_INET6)�BytesIO)�implementer� implementedBy)�verifyClass)�failure)�unicode� intToBytes�Sequence)�Deferred)� ITransport� IConsumer� IPushProducer� IConnector�IReactorCore�IReactorTCP�IReactorSSL�IReactorUNIX�IReactorSocket�IListeningPort� IReactorFDSet)� isIPv6Address)�UnsupportedAddressFamily)�basic)�protocol�error�address�task)�Clock)�IPv4Address�UNIXAddress�IPv6Address)�ILogObserverc @ s@ e Zd ZdZd ZZdZdZdZdZ dd� Z dd� Zd d � ZdS )�AccumulatingProtocolad L{AccumulatingProtocol} is an L{IProtocol} implementation which collects the data delivered to it and can fire a Deferred when it is connected or disconnected. @ivar made: A flag indicating whether C{connectionMade} has been called. @ivar data: Bytes giving all the data passed to C{dataReceived}. @ivar closed: A flag indicated whether C{connectionLost} has been called. @ivar closedReason: The value of the I{reason} parameter passed to C{connectionLost}. @ivar closedDeferred: If set to a L{Deferred}, this will be fired when C{connectionLost} is called. r N� c C s: d| _ | jd k r6| jjd k r6| jj}d | j_|�| � d S �N� )�made�factoryZprotocolConnectionMade�callback��self�d� r0 �</usr/lib/python3/dist-packages/twisted/test/proto_helpers.py�connectionMade: s �z#AccumulatingProtocol.connectionMadec C s | j |7 _ d S �N)�data�r. r4 r0 r0 r1 �dataReceivedB s z!AccumulatingProtocol.dataReceivedc C s2 d| _ || _| jd k r.| jd }| _|�d � d S r( )�closed�closedReason�closedDeferredr, )r. �reasonr/ r0 r0 r1 �connectionLostE s z#AccumulatingProtocol.connectionLost) �__name__� __module__�__qualname__�__doc__r* r7 r8 r9 r4 r+ r2 r6 r; r0 r0 r0 r1 r&