You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
6.0 KiB
229 lines
6.0 KiB
# cython: language_level=3 |
|
|
|
|
|
from .includes cimport uv |
|
from .includes cimport system |
|
|
|
from libc.stdint cimport uint64_t, uint32_t, int64_t |
|
|
|
|
|
include "includes/consts.pxi" |
|
|
|
|
|
cdef extern from *: |
|
ctypedef int vint "volatile int" |
|
|
|
|
|
cdef class UVHandle |
|
cdef class UVSocketHandle(UVHandle) |
|
|
|
cdef class UVAsync(UVHandle) |
|
cdef class UVTimer(UVHandle) |
|
cdef class UVIdle(UVHandle) |
|
|
|
cdef class UVBaseTransport(UVSocketHandle) |
|
|
|
ctypedef object (*method_t)(object) |
|
ctypedef object (*method1_t)(object, object) |
|
ctypedef object (*method2_t)(object, object, object) |
|
ctypedef object (*method3_t)(object, object, object, object) |
|
|
|
|
|
cdef class Loop: |
|
cdef: |
|
uv.uv_loop_t *uvloop |
|
|
|
bint _coroutine_debug_set |
|
int _coroutine_origin_tracking_saved_depth |
|
|
|
public slow_callback_duration |
|
|
|
readonly bint _closed |
|
bint _debug |
|
bint _running |
|
bint _stopping |
|
|
|
uint64_t _thread_id |
|
|
|
object _task_factory |
|
object _exception_handler |
|
object _default_executor |
|
object _ready |
|
set _queued_streams, _executing_streams |
|
Py_ssize_t _ready_len |
|
|
|
set _servers |
|
|
|
object _transports |
|
set _processes |
|
dict _fd_to_reader_fileobj |
|
dict _fd_to_writer_fileobj |
|
|
|
set _signals |
|
dict _signal_handlers |
|
object _ssock |
|
object _csock |
|
bint _listening_signals |
|
int _old_signal_wakeup_id |
|
|
|
set _timers |
|
dict _polls |
|
|
|
UVProcess active_process_handler |
|
|
|
UVAsync handler_async |
|
UVIdle handler_idle |
|
UVCheck handler_check__exec_writes |
|
|
|
object _last_error |
|
|
|
cdef object __weakref__ |
|
|
|
object _asyncgens |
|
bint _asyncgens_shutdown_called |
|
|
|
bint _executor_shutdown_called |
|
|
|
char _recv_buffer[UV_STREAM_RECV_BUF_SIZE] |
|
bint _recv_buffer_in_use |
|
|
|
# DEBUG fields |
|
# True when compiled with DEBUG. |
|
# Used only in unittests. |
|
readonly bint _debug_cc |
|
|
|
readonly object _debug_handles_total |
|
readonly object _debug_handles_closed |
|
readonly object _debug_handles_current |
|
|
|
readonly uint64_t _debug_uv_handles_total |
|
readonly uint64_t _debug_uv_handles_freed |
|
|
|
readonly uint64_t _debug_cb_handles_total |
|
readonly uint64_t _debug_cb_handles_count |
|
readonly uint64_t _debug_cb_timer_handles_total |
|
readonly uint64_t _debug_cb_timer_handles_count |
|
|
|
readonly uint64_t _debug_stream_shutdown_errors_total |
|
readonly uint64_t _debug_stream_listen_errors_total |
|
|
|
readonly uint64_t _debug_stream_read_cb_total |
|
readonly uint64_t _debug_stream_read_cb_errors_total |
|
readonly uint64_t _debug_stream_read_eof_total |
|
readonly uint64_t _debug_stream_read_eof_cb_errors_total |
|
readonly uint64_t _debug_stream_read_errors_total |
|
|
|
readonly uint64_t _debug_stream_write_tries |
|
readonly uint64_t _debug_stream_write_errors_total |
|
readonly uint64_t _debug_stream_write_ctx_total |
|
readonly uint64_t _debug_stream_write_ctx_cnt |
|
readonly uint64_t _debug_stream_write_cb_errors_total |
|
|
|
readonly uint64_t _poll_read_events_total |
|
readonly uint64_t _poll_read_cb_errors_total |
|
readonly uint64_t _poll_write_events_total |
|
readonly uint64_t _poll_write_cb_errors_total |
|
|
|
readonly uint64_t _sock_try_write_total |
|
|
|
readonly uint64_t _debug_exception_handler_cnt |
|
|
|
cdef _init_debug_fields(self) |
|
|
|
cdef _on_wake(self) |
|
cdef _on_idle(self) |
|
|
|
cdef __run(self, uv.uv_run_mode) |
|
cdef _run(self, uv.uv_run_mode) |
|
|
|
cdef _close(self) |
|
cdef _stop(self, exc) |
|
cdef uint64_t _time(self) |
|
|
|
cdef inline _queue_write(self, UVStream stream) |
|
cdef _exec_queued_writes(self) |
|
|
|
cdef inline _call_soon(self, object callback, object args, object context) |
|
cdef inline _append_ready_handle(self, Handle handle) |
|
cdef inline _call_soon_handle(self, Handle handle) |
|
|
|
cdef _call_later(self, uint64_t delay, object callback, object args, |
|
object context) |
|
|
|
cdef void _handle_exception(self, object ex) |
|
|
|
cdef inline _is_main_thread(self) |
|
|
|
cdef inline _new_future(self) |
|
cdef inline _check_signal(self, sig) |
|
cdef inline _check_closed(self) |
|
cdef inline _check_thread(self) |
|
|
|
cdef _getaddrinfo(self, object host, object port, |
|
int family, int type, |
|
int proto, int flags, |
|
int unpack) |
|
|
|
cdef _getnameinfo(self, system.sockaddr *addr, int flags) |
|
|
|
cdef _track_transport(self, UVBaseTransport transport) |
|
cdef _fileobj_to_fd(self, fileobj) |
|
cdef _ensure_fd_no_transport(self, fd) |
|
|
|
cdef _track_process(self, UVProcess proc) |
|
cdef _untrack_process(self, UVProcess proc) |
|
|
|
cdef _add_reader(self, fd, Handle handle) |
|
cdef _has_reader(self, fd) |
|
cdef _remove_reader(self, fd) |
|
|
|
cdef _add_writer(self, fd, Handle handle) |
|
cdef _has_writer(self, fd) |
|
cdef _remove_writer(self, fd) |
|
|
|
cdef _sock_recv(self, fut, sock, n) |
|
cdef _sock_recv_into(self, fut, sock, buf) |
|
cdef _sock_sendall(self, fut, sock, data) |
|
cdef _sock_accept(self, fut, sock) |
|
|
|
cdef _sock_connect(self, sock, address) |
|
cdef _sock_connect_cb(self, fut, sock, address) |
|
|
|
cdef _sock_set_reuseport(self, int fd) |
|
|
|
cdef _setup_or_resume_signals(self) |
|
cdef _shutdown_signals(self) |
|
cdef _pause_signals(self) |
|
|
|
cdef _handle_signal(self, sig) |
|
cdef _read_from_self(self) |
|
cdef inline _ceval_process_signals(self) |
|
cdef _invoke_signals(self, bytes data) |
|
|
|
cdef _set_coroutine_debug(self, bint enabled) |
|
|
|
cdef _print_debug_info(self) |
|
|
|
|
|
include "cbhandles.pxd" |
|
|
|
include "handles/handle.pxd" |
|
include "handles/async_.pxd" |
|
include "handles/idle.pxd" |
|
include "handles/check.pxd" |
|
include "handles/timer.pxd" |
|
include "handles/poll.pxd" |
|
include "handles/basetransport.pxd" |
|
include "handles/stream.pxd" |
|
include "handles/streamserver.pxd" |
|
include "handles/tcp.pxd" |
|
include "handles/pipe.pxd" |
|
include "handles/process.pxd" |
|
include "handles/fsevent.pxd" |
|
|
|
include "request.pxd" |
|
include "sslproto.pxd" |
|
|
|
include "handles/udp.pxd" |
|
|
|
include "server.pxd"
|
|
|