File: //usr/local/lib/python3.10/test/test_asyncio/__pycache__/test_sendfile.cpython-310.pyc
o
�i�S � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlmZ ddlm Z ddlm
Z
ddlmZ ddl
mZ ddl
mZ dd lmZ zddlZW n eyY dZY nw d
d� ZG dd
� d
ej�ZG dd� dej�ZG dd� d�ZG dd� de�ZG dd� de�ZG dd� dee�Zejdkr�G dd� deej�ZG dd� deej�Z n;ddl!Z!e"e!d�r�G dd� deej�Z#e"e!d �r�G d!d"� d"eej�Z$e"e!d#�r�G d$d%� d%eej�Z%G d&d� deej�Ze&d'kr�e�'� dS dS )(z!Tests for sendfile functionality.� N)�base_events)� constants)�mock)�support)� os_helper)�
socket_helper)�utilsc C s t �d � d S �N)�asyncioZset_event_loop_policy� r r �</usr/local/lib/python3.10/test/test_asyncio/test_sendfile.py�tearDownModule � r
c sF e Zd Zddd�Zdd� Zdd� Zd d
� Zdd� Z� fd
d�Z� Z S )�MySendfileProtoNr c C s@ d | _ d| _d| _|d ur|�� | _|�� | _t� | _|| _d S )N�INITIALr ) � transport�state�nbytes�
create_future� connected�done� bytearray�data�close_after)�self�loopr r r r �__init__ s
zMySendfileProto.__init__c G s$ | j |vrtd| j �d|����d S )Nzstate: z, expected: )r �AssertionError)r �expectedr r r �
_assert_state( s
�zMySendfileProto._assert_statec C s0 || _ | �d� d| _| jr| j�d � d S d S )Nr � CONNECTED)r r r r �
set_result�r r r r r �connection_made, s
�zMySendfileProto.connection_madec C s | � d� d| _d S )Nr �EOF)r r �r r r r �eof_received3 s
zMySendfileProto.eof_receivedc C s, | � dd� d| _| jr| j�d � d S d S )Nr r$ ZCLOSED)r r r r! �r �excr r r �connection_lost7 s
�zMySendfileProto.connection_lostc s\ | � d� | jt|�7 _| j�|� t� �|� | jr*| j| jkr,| j� � d S d S d S )Nr )
r r �lenr �extend�super�
data_receivedr r �close�r r �� __class__r r r- = s
�zMySendfileProto.data_received�Nr )
�__name__�
__module__�__qualname__r r r# r&