← Back
Editing: test_internet.cpython-38.pyc
U W[d� � @ s� d Z ddlmZmZ ddlZddlmZ ddlmZ ddl m Z mZ ddlm Z ddlmZmZ dd lmZ dd lmZmZmZ ddlmZmZ ddlmZmZmZmZmZ dd l m!Z! ddl"m#Z# ddl$m%Z%m&Z& ddl'm(Z( dd� Z)ee�G dd� de*��Z+eee+� ee�G dd� de*��Z,eee+� G dd� de�Z-G dd� de�Z.G dd� de*�Z/d%dd�Z0e%fd d!�Z1d"Z2G d#d$� d$e�Z3dS )&z� Tests for (new code in) L{twisted.application.internet}. @var AT_LEAST_ONE_ATTEMPT: At least enough seconds for L{ClientService} to make one attempt. � )�absolute_import�divisionN)�implementer)�verifyClass)�Factory�Protocol)�Clock)�TestCase�SynchronousTestCase)�internet)�StreamServerEndpointService�TimerService� ClientService)�Deferred�CancelledError)�IStreamServerEndpoint�IStreamClientEndpoint�IListeningPort�IHalfCloseableProtocol�IFileDescriptorReceiver)�task)�Failure)�globalLogPublisher�formatEvent)�StringTransportc C s dS )zM A fake target function for testing TimerService which does nothing. N� r r r �H/usr/lib/python3/dist-packages/twisted/application/test/test_internet.py�fakeTargetFunction$ s r c @ sF e Zd ZdZdZdZdZe� ZdZ dd� Z dd� Zdd � Zd d� Z dS )� FakeServeraq In-memory implementation of L{IStreamServerEndpoint}. @ivar result: The L{Deferred} resulting from the call to C{listen}, after C{listen} has been called. @ivar factory: The factory passed to C{listen}. @ivar cancelException: The exception to errback C{self.result} when it is cancelled. @ivar port: The L{IListeningPort} which C{listen}'s L{Deferred} will fire with. @ivar listenAttempts: The number of times C{listen} has been invoked. @ivar failImmediately: If set, the exception to fail the L{Deferred} returned from C{listen} before it is returned. Nr c C s t � | _d S �N)�FakePort�port��selfr r r �__init__G s zFakeServer.__init__c sF � j d7 _ |� _t� fdd�d�� _� jdk r@� j�� j� � jS )z� Return a Deferred and store it for future use. (Implementation of L{IStreamServerEndpoint}). @param factory: the factory to listen with @return: a L{Deferred} stored in L{FakeServer.result} � c s | � � j�S r )�errback�cancelException)�dr"