o
    .j                     @  s   d dl mZ d dlmZ d dlmZmZ eeeef  ZG dd dZ	eG dd de	Z
eG dd	 d	e	ZeG d
d de	ZeG dd de	ZeG dd de	ZeG dd de	ZeG dd de	ZeG dd de	ZeG dd de	ZdS )    )annotations)	dataclass)ListTuplec                   @  s   e Zd ZdZdS )H3Eventz'
    Base class for HTTP/3 events.
    N)__name__
__module____qualname____doc__ r   r   B/home/thesage/.local/lib/python3.10/site-packages/qh3/h3/events.pyr   	   s    r   c                   @  <   e Zd ZU dZded< 	 ded< 	 ded< 	 dZd	ed
< dS )DataReceivedzi
    The DataReceived event is fired whenever data is received on a stream from
    the remote peer.
    bytesdataint	stream_idboolstream_endedN
int | Nonepush_idr   r   r	   r
   __annotations__r   r   r   r   r   r      s   
 r   c                   @  $   e Zd ZU dZded< 	 ded< dS )DatagramReceivedze
    The DatagramReceived is fired whenever a datagram is received from the
    the remote peer.
    r   r   r   flow_idNr   r   r	   r
   r   r   r   r   r   r   #      
 r   c                   @  r   )InformationalHeadersReceivedz
    This event is fired whenever an informational response has been caught inflight!
    The stream cannot be ended there.
    Headersheadersr   r   Nr   r   r   r   r   r   1   r   r   c                   @  r   )HeadersReceivedzK
    The HeadersReceived event is fired whenever headers are received.
    r   r    r   r   r   r   Nr   r   r   r   r   r   r   r!   ?   s   
 r!   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )PushPromiseReceivedzv
    The PushedStreamReceived event is fired whenever a pushed stream has been
    received from the remote peer.
    r   r    r   r   r   Nr   r   r   r   r   r"   R   s   
 r"   c                   @  s   e Zd ZU dZded< dS )GoawayReceivedz
    The GoawayReceived event is fired when a GOAWAY frame is received,
    indicating graceful shutdown. Streams with IDs >= stream_id were
    not processed and may be retried on a new connection.
    r   r   Nr   r   r   r   r   r#   c   s   
 r#   c                   @  s8   e Zd ZU dZded< 	 ded< 	 ded< 	 ded< d	S )
WebTransportStreamDataReceivedzn
    The WebTransportStreamDataReceived is fired whenever data is received
    for a WebTransport stream.
    r   r   r   r   r   r   
session_idNr   r   r   r   r   r$   o   s   
 r$   c                   @  $   e Zd ZU dZded< 	 ded< dS )StreamResetz
    Fired when the remote peer abruptly resets a request stream
    (RFC 9000 RESET_STREAM). The stream will produce no further events.
    r   r   
error_codeNr   r   r   r   r   r'      r   r'   c                   @  r&   )StopSendingz
    Fired when the remote peer asks us to stop sending on a stream
    (RFC 9000 STOP_SENDING). The local sender side has been reset.
    r   r   r(   Nr   r   r   r   r   r)      r   r)   N)
__future__r   dataclassesr   typingr   r   r   r   r   r   r   r   r!   r"   r#   r$   r'   r)   r   r   r   r   <module>   s.    