File: //usr/lib/python3/dist-packages/twisted/application/test/__pycache__/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"