webshell/.env/lib/python3.12/site-packages/uvloop/sslproto.pxd

139 lines
3.5 KiB
Cython

cdef enum SSLProtocolState:
UNWRAPPED = 0
DO_HANDSHAKE = 1
WRAPPED = 2
FLUSHING = 3
SHUTDOWN = 4
cdef enum AppProtocolState:
# This tracks the state of app protocol (https://git.io/fj59P):
#
# INIT -cm-> CON_MADE [-dr*->] [-er-> EOF?] -cl-> CON_LOST
#
# * cm: connection_made()
# * dr: data_received()
# * er: eof_received()
# * cl: connection_lost()
STATE_INIT = 0
STATE_CON_MADE = 1
STATE_EOF = 2
STATE_CON_LOST = 3
cdef class _SSLProtocolTransport:
cdef:
Loop _loop
SSLProtocol _ssl_protocol
bint _closed
object context
cdef class SSLProtocol:
cdef:
bint _server_side
str _server_hostname
object _sslcontext
object _extra
object _write_backlog
size_t _write_buffer_size
object _waiter
Loop _loop
_SSLProtocolTransport _app_transport
bint _app_transport_created
object _transport
object _ssl_handshake_timeout
object _ssl_shutdown_timeout
object _sslobj
object _sslobj_read
object _sslobj_write
object _incoming
object _incoming_write
object _outgoing
object _outgoing_read
char* _ssl_buffer
size_t _ssl_buffer_len
object _ssl_buffer_view
SSLProtocolState _state
size_t _conn_lost
AppProtocolState _app_state
bint _ssl_writing_paused
bint _app_reading_paused
size_t _incoming_high_water
size_t _incoming_low_water
bint _ssl_reading_paused
bint _app_writing_paused
size_t _outgoing_high_water
size_t _outgoing_low_water
object _app_protocol
bint _app_protocol_is_buffer
object _app_protocol_get_buffer
object _app_protocol_buffer_updated
object _handshake_start_time
object _handshake_timeout_handle
object _shutdown_timeout_handle
cdef _set_app_protocol(self, app_protocol)
cdef _wakeup_waiter(self, exc=*)
cdef _get_extra_info(self, name, default=*)
cdef _set_state(self, SSLProtocolState new_state)
# Handshake flow
cdef _start_handshake(self)
cdef _check_handshake_timeout(self)
cdef _do_handshake(self)
cdef _on_handshake_complete(self, handshake_exc)
# Shutdown flow
cdef _start_shutdown(self, object context=*)
cdef _check_shutdown_timeout(self)
cdef _do_read_into_void(self, object context)
cdef _do_flush(self, object context=*)
cdef _do_shutdown(self, object context=*)
cdef _on_shutdown_complete(self, shutdown_exc)
cdef _abort(self, exc)
# Outgoing flow
cdef _write_appdata(self, list_of_data, object context)
cdef _do_write(self)
cdef _process_outgoing(self)
# Incoming flow
cdef _do_read(self)
cdef _do_read__buffered(self)
cdef _do_read__copied(self)
cdef _call_eof_received(self, object context=*)
# Flow control for writes from APP socket
cdef _control_app_writing(self, object context=*)
cdef size_t _get_write_buffer_size(self)
cdef _set_write_buffer_limits(self, high=*, low=*)
# Flow control for reads to APP socket
cdef _pause_reading(self)
cdef _resume_reading(self, object context)
# Flow control for reads from SSL socket
cdef _control_ssl_reading(self)
cdef _set_read_buffer_limits(self, high=*, low=*)
cdef size_t _get_read_buffer_size(self)
cdef _fatal_error(self, exc, message=*)