File: //lib/python3/dist-packages/twisted/test/__pycache__/test_tcp.cpython-310.pyc
o
�b � @ s� d Z ddlZddlZddlZddlmZ ddlmZmZ ddl m
Z
ddlmZ ddl
Z
ddlmZmZmZmZmZ ddlmZ dd lmZmZ dd
lmZ ddlmZ ddlmZmZ dd
l m!Z! ddl"m#Z# ddl$m%Z%m&Z& dddd�Z'G dd� dej�Z(G dd� dej)�Z*G dd� d�Z+G dd� de+ej)�Z,G dd� de+ej-�Z.G dd� de&�Z/G dd� de&�Z0G d d!� d!ej1�Z2G d"d#� d#e.�Z3G d$d%� d%e&�Z4G d&d'� d'e&�Z5G d(d)� d)ej-�Z6G d*d+� d+e&�Z7G d,d-� d-ej�Z8G d.d/� d/ej�Z9G d0d1� d1ej-�Z:G d2d3� d3e&�Z;G d4d5� d5ej�Z<G d6d7� d7ej�Z=G d8d9� d9ej�Z>G d:d;� d;e>�Z?G d<d=� d=�Z@G d>d?� d?e&e@�ZAG d@dA� dAejB�ZCG dBdC� dCejD�ZEG dDdE� dEe&�ZFG dFdG� dGej�ZGG dHdI� dIej�ZHG dJdK� dKej-�ZIG dLdM� dMejB�ZJG dNdO� dOejD�ZKG dPdQ� dQe&�ZLee�G dRdS� dSe#��ZMG dTdU� dUej)�ZNG dVdW� dWe&�ZOG dXdY� dYe&�ZPG dZd[� d[e&�ZQG d\d]� d]e&�ZRG d^d_� d_e&�ZSG d`da� dae&�ZTzddlUZUW n eV�y� Y dS w eU�WeUjX�d db ZYeZeAdceY� dS )ez.
Tests for implementations of L{IReactorTCP}.
� N��wraps)�Callable�Optional)�skipIf)�implementer)�defer�error�
interfaces�protocol�reactor)�IPv4Address)�IHalfCloseableProtocol�
IPullProducer)�Protocol)�policies)�err�msg)�platform)�AccumulatingProtocol)�SkipTest�TestCasec s\ ddl m} t�� ���fdd�}|�|�� � fdd�}��|� � �|�}|��j� �S )z�
Poor excuse for an event notification helper. This polls a condition and
calls back a Deferred when it is seen to be true.
Do not use this function.
r )�taskc s �� } | r� � | � d S d S �N��callback��res)�d� predicate� �7/usr/lib/python3/dist-packages/twisted/test/test_tcp.py�check* s �zloopUntil.<locals>.checkc s � � � | S r )�stop)�result)�callr r! r# 1 s zloopUntil.<locals>.stop) �twisted.internetr r �Deferred�LoopingCall�addCallback�start�
addErrback�errback)r �intervalr r"