rsloop 0.1.26__tar.gz → 0.1.28__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rsloop-0.1.26 → rsloop-0.1.28}/.gitignore +1 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/Cargo.lock +3 -398
- {rsloop-0.1.26 → rsloop-0.1.28}/Cargo.toml +5 -5
- {rsloop-0.1.26 → rsloop-0.1.28}/PKG-INFO +18 -18
- {rsloop-0.1.26 → rsloop-0.1.28}/README.md +17 -17
- rsloop-0.1.28/benchmarks/README.md +145 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/benchmarks/compare_event_loops.py +2 -2
- rsloop-0.1.28/benchmarks/workload_matrix.py +938 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/how-it-works.md +4 -3
- {rsloop-0.1.26 → rsloop-0.1.28}/justfile +7 -1
- {rsloop-0.1.26 → rsloop-0.1.28}/pyproject.toml +3 -3
- {rsloop-0.1.26 → rsloop-0.1.28}/python/rsloop/__init__.py +2 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/python/rsloop/_bootstrap.py +14 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/python/rsloop/_loop_compat.py +121 -32
- {rsloop-0.1.26 → rsloop-0.1.28}/python/rsloop/_profile.py +6 -0
- rsloop-0.1.28/scripts/generate_test_tls_certs.py +196 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/scripts/test-supported-pythons.sh +1 -1
- {rsloop-0.1.26 → rsloop-0.1.28}/src/fast_streams.rs +168 -10
- {rsloop-0.1.26 → rsloop-0.1.28}/src/fd_ops.rs +64 -21
- {rsloop-0.1.26 → rsloop-0.1.28}/src/lib.rs +1 -1
- {rsloop-0.1.26 → rsloop-0.1.28}/src/loop_core/commands.rs +30 -3
- {rsloop-0.1.26 → rsloop-0.1.28}/src/loop_core.rs +428 -72
- {rsloop-0.1.26 → rsloop-0.1.28}/src/module_init.rs +3 -2
- {rsloop-0.1.26 → rsloop-0.1.28}/src/profiler.rs +7 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/python_api/ffi_helpers.rs +1 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/python_api.rs +282 -36
- {rsloop-0.1.26 → rsloop-0.1.28}/src/python_names.rs +5 -0
- rsloop-0.1.28/src/runtime.rs +567 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/stream_transport.rs +899 -337
- {rsloop-0.1.26 → rsloop-0.1.28}/src/tls.rs +48 -2
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/test_compat.py +96 -15
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/test_tls.py +68 -2
- {rsloop-0.1.26 → rsloop-0.1.28}/uv.lock +19 -54
- rsloop-0.1.28/vendor/vibeio/.cargo-ok +1 -0
- rsloop-0.1.28/vendor/vibeio/Cargo.lock +352 -0
- rsloop-0.1.28/vendor/vibeio/Cargo.toml +131 -0
- rsloop-0.1.28/vendor/vibeio/README.md +89 -0
- rsloop-0.1.28/vendor/vibeio/build.rs +42 -0
- rsloop-0.1.28/vendor/vibeio/src/blocking/default.rs +37 -0
- rsloop-0.1.28/vendor/vibeio/src/blocking/mod.rs +57 -0
- rsloop-0.1.28/vendor/vibeio/src/builder.rs +136 -0
- rsloop-0.1.28/vendor/vibeio/src/driver/iocp.rs +923 -0
- rsloop-0.1.28/vendor/vibeio/src/driver/mio.rs +337 -0
- rsloop-0.1.28/vendor/vibeio/src/driver/mock.rs +79 -0
- rsloop-0.1.28/vendor/vibeio/src/driver/mod.rs +595 -0
- rsloop-0.1.28/vendor/vibeio/src/driver/uring.rs +636 -0
- rsloop-0.1.28/vendor/vibeio/src/executor.rs +892 -0
- rsloop-0.1.28/vendor/vibeio/src/fd_inner.rs +179 -0
- rsloop-0.1.28/vendor/vibeio/src/fs/file.rs +764 -0
- rsloop-0.1.28/vendor/vibeio/src/fs/metadata.rs +254 -0
- rsloop-0.1.28/vendor/vibeio/src/fs/mod.rs +1416 -0
- rsloop-0.1.28/vendor/vibeio/src/fs/open_options.rs +329 -0
- rsloop-0.1.28/vendor/vibeio/src/io/buf.rs +460 -0
- rsloop-0.1.28/vendor/vibeio/src/io/mod.rs +150 -0
- rsloop-0.1.28/vendor/vibeio/src/io/pipe.rs +324 -0
- rsloop-0.1.28/vendor/vibeio/src/io/splice.rs +164 -0
- rsloop-0.1.28/vendor/vibeio/src/io/stdio.rs +266 -0
- rsloop-0.1.28/vendor/vibeio/src/io/util.rs +226 -0
- rsloop-0.1.28/vendor/vibeio/src/lib.rs +103 -0
- rsloop-0.1.28/vendor/vibeio/src/net/mod.rs +55 -0
- rsloop-0.1.28/vendor/vibeio/src/net/tcp/listener.rs +469 -0
- rsloop-0.1.28/vendor/vibeio/src/net/tcp/mod.rs +128 -0
- rsloop-0.1.28/vendor/vibeio/src/net/tcp/stream.rs +794 -0
- rsloop-0.1.28/vendor/vibeio/src/net/udp.rs +1534 -0
- rsloop-0.1.28/vendor/vibeio/src/net/unix/listener.rs +145 -0
- rsloop-0.1.28/vendor/vibeio/src/net/unix/mod.rs +149 -0
- rsloop-0.1.28/vendor/vibeio/src/net/unix/stream.rs +568 -0
- rsloop-0.1.28/vendor/vibeio/src/op/accept.rs +681 -0
- rsloop-0.1.28/vendor/vibeio/src/op/accept_unix.rs +162 -0
- rsloop-0.1.28/vendor/vibeio/src/op/connect.rs +531 -0
- rsloop-0.1.28/vendor/vibeio/src/op/fsync.rs +90 -0
- rsloop-0.1.28/vendor/vibeio/src/op/hard_link.rs +93 -0
- rsloop-0.1.28/vendor/vibeio/src/op/io_util.rs +76 -0
- rsloop-0.1.28/vendor/vibeio/src/op/mkdir.rs +89 -0
- rsloop-0.1.28/vendor/vibeio/src/op/mod.rs +273 -0
- rsloop-0.1.28/vendor/vibeio/src/op/open.rs +95 -0
- rsloop-0.1.28/vendor/vibeio/src/op/read.rs +306 -0
- rsloop-0.1.28/vendor/vibeio/src/op/readat.rs +171 -0
- rsloop-0.1.28/vendor/vibeio/src/op/readiness.rs +51 -0
- rsloop-0.1.28/vendor/vibeio/src/op/readv.rs +366 -0
- rsloop-0.1.28/vendor/vibeio/src/op/recv.rs +287 -0
- rsloop-0.1.28/vendor/vibeio/src/op/recvfrom.rs +458 -0
- rsloop-0.1.28/vendor/vibeio/src/op/rename.rs +93 -0
- rsloop-0.1.28/vendor/vibeio/src/op/send.rs +256 -0
- rsloop-0.1.28/vendor/vibeio/src/op/sendto.rs +442 -0
- rsloop-0.1.28/vendor/vibeio/src/op/splice.rs +127 -0
- rsloop-0.1.28/vendor/vibeio/src/op/statx.rs +119 -0
- rsloop-0.1.28/vendor/vibeio/src/op/symlink.rs +92 -0
- rsloop-0.1.28/vendor/vibeio/src/op/unlink.rs +90 -0
- rsloop-0.1.28/vendor/vibeio/src/op/waitpid.rs +233 -0
- rsloop-0.1.28/vendor/vibeio/src/op/write.rs +289 -0
- rsloop-0.1.28/vendor/vibeio/src/op/writeat.rs +165 -0
- rsloop-0.1.28/vendor/vibeio/src/op/writev.rs +363 -0
- rsloop-0.1.28/vendor/vibeio/src/process/mod.rs +1064 -0
- rsloop-0.1.28/vendor/vibeio/src/process/reaper.rs +329 -0
- rsloop-0.1.28/vendor/vibeio/src/signal/mod.rs +32 -0
- rsloop-0.1.28/vendor/vibeio/src/signal/unix.rs +526 -0
- rsloop-0.1.28/vendor/vibeio/src/signal/windows.rs +154 -0
- rsloop-0.1.28/vendor/vibeio/src/task.rs +124 -0
- rsloop-0.1.28/vendor/vibeio/src/time/interval.rs +145 -0
- rsloop-0.1.28/vendor/vibeio/src/time/mod.rs +130 -0
- rsloop-0.1.28/vendor/vibeio/src/time/sleep.rs +209 -0
- rsloop-0.1.28/vendor/vibeio/src/time/timeout.rs +104 -0
- rsloop-0.1.28/vendor/vibeio/src/timer.rs +791 -0
- rsloop-0.1.28/vendor/vibeio/src/util/async_wrap.rs +423 -0
- rsloop-0.1.28/vendor/vibeio/src/util/mod.rs +110 -0
- rsloop-0.1.26/benchmarks/README.md +0 -69
- rsloop-0.1.26/scripts/generate-test-tls-certs.sh +0 -97
- rsloop-0.1.26/src/runtime.rs +0 -845
- {rsloop-0.1.26 → rsloop-0.1.28}/.cargo/config.toml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/.github/workflows/mkdocs.yml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/.github/workflows/tests.yml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/.github/workflows/wheels.yml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/.vscode/settings.json +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/LICENSE +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/build.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/demo/README.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/demo/fastapi_service.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/demo/picows_server.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/demo/picows_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/demo/wsbench_websockets.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/development.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/examples.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/getting-started.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/index.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/project-structure.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/docs/rust-extensions.md +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/examples/01_basics.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/examples/02_fd_and_sockets.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/examples/03_streams.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/examples/04_unix_and_accepted_socket.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/examples/05_pipes_signals_subprocesses.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/mkdocs.yml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/python/rsloop/_run.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/qualirs.toml +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/rsloop.png +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/scripts/build-wheels.sh +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/scripts/python-versions.sh +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/async_event.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/blocking.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/callbacks.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/context.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/errors.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/fd_ops/windows.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/process_transport.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/python_api/pre_exec.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/python_api/process_handles.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/runtime/timer_entry.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/rust_async.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/tls/material.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/src/windows_vibeio.rs +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/_smoke.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/aiohttp_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/django_asgi_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/falcon_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/fastapi_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/faststream_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/litestar_granian_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/litestar_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/quart_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/sanic_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/starlette_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/packages/uvicorn_test.py +0 -0
- {rsloop-0.1.26 → rsloop-0.1.28}/tests/test_run.py +0 -0
|
@@ -11,12 +11,6 @@ dependencies = [
|
|
|
11
11
|
"memchr",
|
|
12
12
|
]
|
|
13
13
|
|
|
14
|
-
[[package]]
|
|
15
|
-
name = "arrayvec"
|
|
16
|
-
version = "0.7.6"
|
|
17
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
-
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
|
|
19
|
-
|
|
20
14
|
[[package]]
|
|
21
15
|
name = "async-channel"
|
|
22
16
|
version = "1.9.0"
|
|
@@ -256,12 +250,6 @@ version = "1.0.4"
|
|
|
256
250
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
257
251
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
258
252
|
|
|
259
|
-
[[package]]
|
|
260
|
-
name = "cfg_aliases"
|
|
261
|
-
version = "0.2.1"
|
|
262
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
263
|
-
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
|
264
|
-
|
|
265
253
|
[[package]]
|
|
266
254
|
name = "cmake"
|
|
267
255
|
version = "0.1.58"
|
|
@@ -271,164 +259,6 @@ dependencies = [
|
|
|
271
259
|
"cc",
|
|
272
260
|
]
|
|
273
261
|
|
|
274
|
-
[[package]]
|
|
275
|
-
name = "compio"
|
|
276
|
-
version = "0.19.1"
|
|
277
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
278
|
-
checksum = "e5cf9e29d3c2d2a37078198795631b61d2b5c9cab68191e31526fe342d742135"
|
|
279
|
-
dependencies = [
|
|
280
|
-
"compio-buf",
|
|
281
|
-
"compio-driver",
|
|
282
|
-
"compio-io",
|
|
283
|
-
"compio-log",
|
|
284
|
-
"compio-net",
|
|
285
|
-
"compio-runtime",
|
|
286
|
-
"compio-signal",
|
|
287
|
-
]
|
|
288
|
-
|
|
289
|
-
[[package]]
|
|
290
|
-
name = "compio-buf"
|
|
291
|
-
version = "0.8.3"
|
|
292
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
293
|
-
checksum = "b51a2c35873865376ed4cdb6cfeb602b6cf569815f017ddd7bd8f86ad49b34c7"
|
|
294
|
-
dependencies = [
|
|
295
|
-
"arrayvec",
|
|
296
|
-
"bytes",
|
|
297
|
-
"libc",
|
|
298
|
-
]
|
|
299
|
-
|
|
300
|
-
[[package]]
|
|
301
|
-
name = "compio-driver"
|
|
302
|
-
version = "0.12.3"
|
|
303
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
304
|
-
checksum = "a580d231c022f336ccb7a2e133eaf56e34bf586417176a1a8d392a4a6e9a41f4"
|
|
305
|
-
dependencies = [
|
|
306
|
-
"bitflags 2.13.0",
|
|
307
|
-
"cfg_aliases",
|
|
308
|
-
"compio-buf",
|
|
309
|
-
"compio-log",
|
|
310
|
-
"compio-send-wrapper",
|
|
311
|
-
"crossbeam-queue",
|
|
312
|
-
"flume",
|
|
313
|
-
"futures-util",
|
|
314
|
-
"io-uring 0.7.12",
|
|
315
|
-
"libc",
|
|
316
|
-
"linux-raw-sys",
|
|
317
|
-
"mod_use",
|
|
318
|
-
"once_cell",
|
|
319
|
-
"pastey",
|
|
320
|
-
"polling",
|
|
321
|
-
"rustix",
|
|
322
|
-
"smallvec",
|
|
323
|
-
"socket2",
|
|
324
|
-
"synchrony",
|
|
325
|
-
"thin-cell",
|
|
326
|
-
"windows-sys 0.61.2",
|
|
327
|
-
]
|
|
328
|
-
|
|
329
|
-
[[package]]
|
|
330
|
-
name = "compio-executor"
|
|
331
|
-
version = "0.1.2"
|
|
332
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
333
|
-
checksum = "809fc31e0180a97ea760300b9aa97d99fbb19c9831cc49cebfd5a98f44a8371b"
|
|
334
|
-
dependencies = [
|
|
335
|
-
"compio-log",
|
|
336
|
-
"compio-send-wrapper",
|
|
337
|
-
"crossbeam-queue",
|
|
338
|
-
"loom",
|
|
339
|
-
"slotmap",
|
|
340
|
-
]
|
|
341
|
-
|
|
342
|
-
[[package]]
|
|
343
|
-
name = "compio-io"
|
|
344
|
-
version = "0.10.1"
|
|
345
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
346
|
-
checksum = "c3a354e085c4046dd8d2d9d514cf8c15c615eb8adf6c5f41dbf7899420457e9b"
|
|
347
|
-
dependencies = [
|
|
348
|
-
"compio-buf",
|
|
349
|
-
"futures-util",
|
|
350
|
-
"libc",
|
|
351
|
-
"pastey",
|
|
352
|
-
"pin-project-lite",
|
|
353
|
-
"rustix",
|
|
354
|
-
"synchrony",
|
|
355
|
-
"windows-sys 0.61.2",
|
|
356
|
-
]
|
|
357
|
-
|
|
358
|
-
[[package]]
|
|
359
|
-
name = "compio-log"
|
|
360
|
-
version = "0.2.0"
|
|
361
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
362
|
-
checksum = "ef39fff6341af7ab6c27fae9a3887e1ec618320d43f3b9c924c7a644f693a859"
|
|
363
|
-
dependencies = [
|
|
364
|
-
"tracing",
|
|
365
|
-
]
|
|
366
|
-
|
|
367
|
-
[[package]]
|
|
368
|
-
name = "compio-net"
|
|
369
|
-
version = "0.12.1"
|
|
370
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
371
|
-
checksum = "0a985ea5d7580318104d44f4a3c8ae48a7ee750e9c98b68a69a869e01d4d6df0"
|
|
372
|
-
dependencies = [
|
|
373
|
-
"compio-buf",
|
|
374
|
-
"compio-driver",
|
|
375
|
-
"compio-io",
|
|
376
|
-
"compio-runtime",
|
|
377
|
-
"either",
|
|
378
|
-
"futures-util",
|
|
379
|
-
"libc",
|
|
380
|
-
"once_cell",
|
|
381
|
-
"pin-project-lite",
|
|
382
|
-
"socket2",
|
|
383
|
-
"synchrony",
|
|
384
|
-
"widestring",
|
|
385
|
-
"windows-sys 0.61.2",
|
|
386
|
-
]
|
|
387
|
-
|
|
388
|
-
[[package]]
|
|
389
|
-
name = "compio-runtime"
|
|
390
|
-
version = "0.12.2"
|
|
391
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
392
|
-
checksum = "dde4b0b7de96fc8b99e089964d65e9ed5669f8ea39bc46381f7fd563dc10a753"
|
|
393
|
-
dependencies = [
|
|
394
|
-
"compio-buf",
|
|
395
|
-
"compio-driver",
|
|
396
|
-
"compio-executor",
|
|
397
|
-
"compio-io",
|
|
398
|
-
"compio-log",
|
|
399
|
-
"compio-send-wrapper",
|
|
400
|
-
"core_affinity",
|
|
401
|
-
"futures-util",
|
|
402
|
-
"libc",
|
|
403
|
-
"pin-project-lite",
|
|
404
|
-
"scoped-tls",
|
|
405
|
-
"synchrony",
|
|
406
|
-
"windows-sys 0.61.2",
|
|
407
|
-
]
|
|
408
|
-
|
|
409
|
-
[[package]]
|
|
410
|
-
name = "compio-send-wrapper"
|
|
411
|
-
version = "0.7.1"
|
|
412
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
413
|
-
checksum = "4f1ef3947d751725afe49ab18ce447d819cd8f4ea9b58ae94b8498eb8ad1f864"
|
|
414
|
-
dependencies = [
|
|
415
|
-
"cfg-if",
|
|
416
|
-
"loom",
|
|
417
|
-
]
|
|
418
|
-
|
|
419
|
-
[[package]]
|
|
420
|
-
name = "compio-signal"
|
|
421
|
-
version = "0.10.0"
|
|
422
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
423
|
-
checksum = "b1748b284601a5a267824b36894c7fc5e488b503f14a0a508f3b457ae018a451"
|
|
424
|
-
dependencies = [
|
|
425
|
-
"nix",
|
|
426
|
-
"once_cell",
|
|
427
|
-
"slab",
|
|
428
|
-
"synchrony",
|
|
429
|
-
"windows-sys 0.61.2",
|
|
430
|
-
]
|
|
431
|
-
|
|
432
262
|
[[package]]
|
|
433
263
|
name = "concurrent-queue"
|
|
434
264
|
version = "2.5.0"
|
|
@@ -454,17 +284,6 @@ version = "0.8.7"
|
|
|
454
284
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
455
285
|
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
|
456
286
|
|
|
457
|
-
[[package]]
|
|
458
|
-
name = "core_affinity"
|
|
459
|
-
version = "0.8.3"
|
|
460
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
461
|
-
checksum = "a034b3a7b624016c6e13f5df875747cc25f884156aad2abd12b6c46797971342"
|
|
462
|
-
dependencies = [
|
|
463
|
-
"libc",
|
|
464
|
-
"num_cpus",
|
|
465
|
-
"winapi",
|
|
466
|
-
]
|
|
467
|
-
|
|
468
287
|
[[package]]
|
|
469
288
|
name = "crossbeam-channel"
|
|
470
289
|
version = "0.5.15"
|
|
@@ -495,12 +314,6 @@ version = "1.0.5"
|
|
|
495
314
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
496
315
|
checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
|
|
497
316
|
|
|
498
|
-
[[package]]
|
|
499
|
-
name = "either"
|
|
500
|
-
version = "1.16.0"
|
|
501
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
502
|
-
checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
|
|
503
|
-
|
|
504
317
|
[[package]]
|
|
505
318
|
name = "errno"
|
|
506
319
|
version = "0.3.14"
|
|
@@ -550,15 +363,6 @@ version = "0.1.9"
|
|
|
550
363
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
551
364
|
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
|
|
552
365
|
|
|
553
|
-
[[package]]
|
|
554
|
-
name = "flume"
|
|
555
|
-
version = "0.12.0"
|
|
556
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
557
|
-
checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be"
|
|
558
|
-
dependencies = [
|
|
559
|
-
"spin",
|
|
560
|
-
]
|
|
561
|
-
|
|
562
366
|
[[package]]
|
|
563
367
|
name = "fs_extra"
|
|
564
368
|
version = "1.3.0"
|
|
@@ -726,23 +530,6 @@ dependencies = [
|
|
|
726
530
|
"libc",
|
|
727
531
|
]
|
|
728
532
|
|
|
729
|
-
[[package]]
|
|
730
|
-
name = "io-uring"
|
|
731
|
-
version = "0.7.12"
|
|
732
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
733
|
-
checksum = "4d09b98f7eace8982db770e4408e7470b028ce513ac28fecdc6bf4c30fe92b62"
|
|
734
|
-
dependencies = [
|
|
735
|
-
"bitflags 2.13.0",
|
|
736
|
-
"cfg-if",
|
|
737
|
-
"libc",
|
|
738
|
-
]
|
|
739
|
-
|
|
740
|
-
[[package]]
|
|
741
|
-
name = "itoa"
|
|
742
|
-
version = "1.0.18"
|
|
743
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
744
|
-
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|
745
|
-
|
|
746
533
|
[[package]]
|
|
747
534
|
name = "jobserver"
|
|
748
535
|
version = "0.1.34"
|
|
@@ -791,21 +578,6 @@ version = "0.12.1"
|
|
|
791
578
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
792
579
|
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
|
|
793
580
|
|
|
794
|
-
[[package]]
|
|
795
|
-
name = "local-event"
|
|
796
|
-
version = "0.1.2"
|
|
797
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
798
|
-
checksum = "76dda8459b10a8960dfae91c1c77316fc15e7caf94f9f18794126512a8dc77e5"
|
|
799
|
-
|
|
800
|
-
[[package]]
|
|
801
|
-
name = "lock_api"
|
|
802
|
-
version = "0.4.14"
|
|
803
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
804
|
-
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
|
|
805
|
-
dependencies = [
|
|
806
|
-
"scopeguard",
|
|
807
|
-
]
|
|
808
|
-
|
|
809
581
|
[[package]]
|
|
810
582
|
name = "log"
|
|
811
583
|
version = "0.4.33"
|
|
@@ -823,10 +595,7 @@ checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca"
|
|
|
823
595
|
dependencies = [
|
|
824
596
|
"cfg-if",
|
|
825
597
|
"generator",
|
|
826
|
-
"pin-utils",
|
|
827
598
|
"scoped-tls",
|
|
828
|
-
"serde",
|
|
829
|
-
"serde_json",
|
|
830
599
|
"tracing",
|
|
831
600
|
"tracing-subscriber",
|
|
832
601
|
]
|
|
@@ -858,24 +627,6 @@ dependencies = [
|
|
|
858
627
|
"windows-sys 0.61.2",
|
|
859
628
|
]
|
|
860
629
|
|
|
861
|
-
[[package]]
|
|
862
|
-
name = "mod_use"
|
|
863
|
-
version = "0.2.3"
|
|
864
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
865
|
-
checksum = "21909324aa58f5c284d91cac514c6d081210901dc372d7c8ea6a9d7e0406097a"
|
|
866
|
-
|
|
867
|
-
[[package]]
|
|
868
|
-
name = "nix"
|
|
869
|
-
version = "0.31.3"
|
|
870
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
871
|
-
checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
|
|
872
|
-
dependencies = [
|
|
873
|
-
"bitflags 2.13.0",
|
|
874
|
-
"cfg-if",
|
|
875
|
-
"cfg_aliases",
|
|
876
|
-
"libc",
|
|
877
|
-
]
|
|
878
|
-
|
|
879
630
|
[[package]]
|
|
880
631
|
name = "nu-ansi-term"
|
|
881
632
|
version = "0.50.3"
|
|
@@ -885,16 +636,6 @@ dependencies = [
|
|
|
885
636
|
"windows-sys 0.61.2",
|
|
886
637
|
]
|
|
887
638
|
|
|
888
|
-
[[package]]
|
|
889
|
-
name = "num_cpus"
|
|
890
|
-
version = "1.17.0"
|
|
891
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
892
|
-
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
|
|
893
|
-
dependencies = [
|
|
894
|
-
"hermit-abi",
|
|
895
|
-
"libc",
|
|
896
|
-
]
|
|
897
|
-
|
|
898
639
|
[[package]]
|
|
899
640
|
name = "once_cell"
|
|
900
641
|
version = "1.21.4"
|
|
@@ -919,12 +660,6 @@ version = "2.2.1"
|
|
|
919
660
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
920
661
|
checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
|
|
921
662
|
|
|
922
|
-
[[package]]
|
|
923
|
-
name = "pastey"
|
|
924
|
-
version = "0.2.3"
|
|
925
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
926
|
-
checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
|
|
927
|
-
|
|
928
663
|
[[package]]
|
|
929
664
|
name = "pin-project-lite"
|
|
930
665
|
version = "0.2.17"
|
|
@@ -1116,10 +851,10 @@ dependencies = [
|
|
|
1116
851
|
|
|
1117
852
|
[[package]]
|
|
1118
853
|
name = "rsloop"
|
|
1119
|
-
version = "0.1.
|
|
854
|
+
version = "0.1.28"
|
|
1120
855
|
dependencies = [
|
|
856
|
+
"async-io",
|
|
1121
857
|
"async-std",
|
|
1122
|
-
"compio",
|
|
1123
858
|
"crossbeam-channel",
|
|
1124
859
|
"futures",
|
|
1125
860
|
"libc",
|
|
@@ -1229,12 +964,6 @@ version = "1.0.1"
|
|
|
1229
964
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1230
965
|
checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
|
|
1231
966
|
|
|
1232
|
-
[[package]]
|
|
1233
|
-
name = "scopeguard"
|
|
1234
|
-
version = "1.2.0"
|
|
1235
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1236
|
-
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|
1237
|
-
|
|
1238
967
|
[[package]]
|
|
1239
968
|
name = "security-framework"
|
|
1240
969
|
version = "3.7.0"
|
|
@@ -1258,49 +987,6 @@ dependencies = [
|
|
|
1258
987
|
"libc",
|
|
1259
988
|
]
|
|
1260
989
|
|
|
1261
|
-
[[package]]
|
|
1262
|
-
name = "serde"
|
|
1263
|
-
version = "1.0.228"
|
|
1264
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1265
|
-
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
|
1266
|
-
dependencies = [
|
|
1267
|
-
"serde_core",
|
|
1268
|
-
"serde_derive",
|
|
1269
|
-
]
|
|
1270
|
-
|
|
1271
|
-
[[package]]
|
|
1272
|
-
name = "serde_core"
|
|
1273
|
-
version = "1.0.228"
|
|
1274
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1275
|
-
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
|
1276
|
-
dependencies = [
|
|
1277
|
-
"serde_derive",
|
|
1278
|
-
]
|
|
1279
|
-
|
|
1280
|
-
[[package]]
|
|
1281
|
-
name = "serde_derive"
|
|
1282
|
-
version = "1.0.228"
|
|
1283
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1284
|
-
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
1285
|
-
dependencies = [
|
|
1286
|
-
"proc-macro2",
|
|
1287
|
-
"quote",
|
|
1288
|
-
"syn",
|
|
1289
|
-
]
|
|
1290
|
-
|
|
1291
|
-
[[package]]
|
|
1292
|
-
name = "serde_json"
|
|
1293
|
-
version = "1.0.150"
|
|
1294
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1295
|
-
checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
|
|
1296
|
-
dependencies = [
|
|
1297
|
-
"itoa",
|
|
1298
|
-
"memchr",
|
|
1299
|
-
"serde",
|
|
1300
|
-
"serde_core",
|
|
1301
|
-
"zmij",
|
|
1302
|
-
]
|
|
1303
|
-
|
|
1304
990
|
[[package]]
|
|
1305
991
|
name = "sharded-slab"
|
|
1306
992
|
version = "0.1.7"
|
|
@@ -1342,15 +1028,6 @@ version = "0.4.12"
|
|
|
1342
1028
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1343
1029
|
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
1344
1030
|
|
|
1345
|
-
[[package]]
|
|
1346
|
-
name = "slotmap"
|
|
1347
|
-
version = "1.1.1"
|
|
1348
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1349
|
-
checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038"
|
|
1350
|
-
dependencies = [
|
|
1351
|
-
"version_check",
|
|
1352
|
-
]
|
|
1353
|
-
|
|
1354
1031
|
[[package]]
|
|
1355
1032
|
name = "smallvec"
|
|
1356
1033
|
version = "1.15.2"
|
|
@@ -1367,15 +1044,6 @@ dependencies = [
|
|
|
1367
1044
|
"windows-sys 0.61.2",
|
|
1368
1045
|
]
|
|
1369
1046
|
|
|
1370
|
-
[[package]]
|
|
1371
|
-
name = "spin"
|
|
1372
|
-
version = "0.9.8"
|
|
1373
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1374
|
-
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
|
|
1375
|
-
dependencies = [
|
|
1376
|
-
"lock_api",
|
|
1377
|
-
]
|
|
1378
|
-
|
|
1379
1047
|
[[package]]
|
|
1380
1048
|
name = "subtle"
|
|
1381
1049
|
version = "2.6.1"
|
|
@@ -1393,33 +1061,12 @@ dependencies = [
|
|
|
1393
1061
|
"unicode-ident",
|
|
1394
1062
|
]
|
|
1395
1063
|
|
|
1396
|
-
[[package]]
|
|
1397
|
-
name = "synchrony"
|
|
1398
|
-
version = "0.1.8"
|
|
1399
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1400
|
-
checksum = "416090a4d8f6358526df5f9f65dfe28750b8b7bfd1fd8a5620f483fc4a75722c"
|
|
1401
|
-
dependencies = [
|
|
1402
|
-
"event-listener 5.4.1",
|
|
1403
|
-
"futures-util",
|
|
1404
|
-
"local-event",
|
|
1405
|
-
"loom",
|
|
1406
|
-
]
|
|
1407
|
-
|
|
1408
1064
|
[[package]]
|
|
1409
1065
|
name = "target-lexicon"
|
|
1410
1066
|
version = "0.13.5"
|
|
1411
1067
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1412
1068
|
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
1413
1069
|
|
|
1414
|
-
[[package]]
|
|
1415
|
-
name = "thin-cell"
|
|
1416
|
-
version = "0.2.1"
|
|
1417
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1418
|
-
checksum = "a9d3c47fea6e344ef1ac01be266c27945ec30ae8049c3292c897f0878de5c784"
|
|
1419
|
-
dependencies = [
|
|
1420
|
-
"synchrony",
|
|
1421
|
-
]
|
|
1422
|
-
|
|
1423
1070
|
[[package]]
|
|
1424
1071
|
name = "thread_local"
|
|
1425
1072
|
version = "1.1.9"
|
|
@@ -1533,21 +1180,13 @@ version = "1.12.0"
|
|
|
1533
1180
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1534
1181
|
checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0"
|
|
1535
1182
|
|
|
1536
|
-
[[package]]
|
|
1537
|
-
name = "version_check"
|
|
1538
|
-
version = "0.9.5"
|
|
1539
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1540
|
-
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|
1541
|
-
|
|
1542
1183
|
[[package]]
|
|
1543
1184
|
name = "vibeio"
|
|
1544
1185
|
version = "0.2.15"
|
|
1545
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1546
|
-
checksum = "63b968e30d91bc5c14d23f9af184f26ea7f0d886ab309d11b37148b244d7dfa4"
|
|
1547
1186
|
dependencies = [
|
|
1548
1187
|
"crossbeam-queue",
|
|
1549
1188
|
"futures-util",
|
|
1550
|
-
"io-uring
|
|
1189
|
+
"io-uring",
|
|
1551
1190
|
"libc",
|
|
1552
1191
|
"mio",
|
|
1553
1192
|
"oneshot",
|
|
@@ -1626,34 +1265,6 @@ dependencies = [
|
|
|
1626
1265
|
"unicode-ident",
|
|
1627
1266
|
]
|
|
1628
1267
|
|
|
1629
|
-
[[package]]
|
|
1630
|
-
name = "widestring"
|
|
1631
|
-
version = "1.2.1"
|
|
1632
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1633
|
-
checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471"
|
|
1634
|
-
|
|
1635
|
-
[[package]]
|
|
1636
|
-
name = "winapi"
|
|
1637
|
-
version = "0.3.9"
|
|
1638
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1639
|
-
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
1640
|
-
dependencies = [
|
|
1641
|
-
"winapi-i686-pc-windows-gnu",
|
|
1642
|
-
"winapi-x86_64-pc-windows-gnu",
|
|
1643
|
-
]
|
|
1644
|
-
|
|
1645
|
-
[[package]]
|
|
1646
|
-
name = "winapi-i686-pc-windows-gnu"
|
|
1647
|
-
version = "0.4.0"
|
|
1648
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1649
|
-
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
1650
|
-
|
|
1651
|
-
[[package]]
|
|
1652
|
-
name = "winapi-x86_64-pc-windows-gnu"
|
|
1653
|
-
version = "0.4.0"
|
|
1654
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1655
|
-
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
1656
|
-
|
|
1657
1268
|
[[package]]
|
|
1658
1269
|
name = "windows-link"
|
|
1659
1270
|
version = "0.2.1"
|
|
@@ -1762,9 +1373,3 @@ name = "zeroize"
|
|
|
1762
1373
|
version = "1.8.2"
|
|
1763
1374
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1764
1375
|
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
|
|
1765
|
-
|
|
1766
|
-
[[package]]
|
|
1767
|
-
name = "zmij"
|
|
1768
|
-
version = "1.0.21"
|
|
1769
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1770
|
-
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rsloop"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.28"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
description = "An event loop for asyncio written in Rust"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -18,8 +18,8 @@ default = []
|
|
|
18
18
|
profiler = ["dep:tracy-client", "profiling/profile-with-tracy"]
|
|
19
19
|
|
|
20
20
|
[dependencies]
|
|
21
|
+
async-io = "2"
|
|
21
22
|
async-std = "1"
|
|
22
|
-
compio = { version = "0.19", default-features = false, features = ["runtime", "net", "io", "signal", "time", "io-uring"] }
|
|
23
23
|
crossbeam-channel = "0.5"
|
|
24
24
|
futures = { version = "0.3", default-features = false, features = ["std"] }
|
|
25
25
|
libc = "0.2"
|
|
@@ -31,12 +31,12 @@ rustls-native-certs = "0.8"
|
|
|
31
31
|
rustls-pemfile = "2"
|
|
32
32
|
signal-hook = "0.4"
|
|
33
33
|
socket2 = "0.6"
|
|
34
|
+
tokio = { version = "1", default-features = false, features = ["io-util"] }
|
|
34
35
|
tracy-client = { version = "0.18", default-features = false, features = ["enable", "only-localhost", "sampling"], optional = true }
|
|
36
|
+
vibeio = { path = "vendor/vibeio", default-features = false, features = ["time"] }
|
|
35
37
|
|
|
36
38
|
[target.'cfg(windows)'.dependencies]
|
|
37
|
-
|
|
38
|
-
vibeio = { version = "0.2.15", default-features = false }
|
|
39
|
-
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_Networking_WinSock", "Win32_System_Pipes", "Win32_System_Threading"] }
|
|
39
|
+
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_Networking_WinSock", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_Threading"] }
|
|
40
40
|
|
|
41
41
|
[build-dependencies]
|
|
42
42
|
pyo3-build-config = "0.29"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rsloop
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.28
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -41,11 +41,11 @@ Project-URL: Repository, https://github.com/RustedBytes/rsloop
|
|
|
41
41
|
`rsloop` is a PyO3-based `asyncio` event loop implemented in Rust.
|
|
42
42
|
|
|
43
43
|
Each `rsloop.Loop` owns a dedicated Rust runtime thread for loop coordination
|
|
44
|
-
and I/O work.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
coroutines still run on the thread that calls
|
|
48
|
-
`run_until_complete()` (usually the main Python thread).
|
|
44
|
+
and I/O work. That thread runs a `vibeio` runtime, using io_uring on Linux,
|
|
45
|
+
IOCP on Windows, and mio-backed readiness on other supported platforms. Plain
|
|
46
|
+
TCP / Unix socket reads and non-TLS server accepts run on that runtime. Python
|
|
47
|
+
callbacks, tasks, and coroutines still run on the thread that calls
|
|
48
|
+
`run_forever()` or `run_until_complete()` (usually the main Python thread).
|
|
49
49
|
|
|
50
50
|
The package exposes:
|
|
51
51
|
|
|
@@ -239,16 +239,18 @@ is backed by the lower level transport code in
|
|
|
239
239
|
|
|
240
240
|
## Runtime Model
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
The runtime is centered on one `vibeio` runtime per loop:
|
|
243
243
|
|
|
244
244
|
- the loop coordination thread is always the central scheduler
|
|
245
|
-
-
|
|
246
|
-
|
|
245
|
+
- plain TCP / Unix socket reads and non-TLS accept loops use `vibeio` on that
|
|
246
|
+
thread across supported platforms
|
|
247
|
+
- generic `add_reader` / `add_writer` descriptors use cancellable OS-poll
|
|
248
|
+
workers because `vibeio` does not expose arbitrary raw-descriptor registration
|
|
247
249
|
- some transport paths still fall back to helper threads, especially TLS I/O,
|
|
248
250
|
TLS server accept, and parts of the legacy transport write path
|
|
249
251
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
+
The runtime dependency is now unified, but the codebase has not finished
|
|
253
|
+
eliminating every helper thread yet.
|
|
252
254
|
|
|
253
255
|
## Current Limitations
|
|
254
256
|
|
|
@@ -258,7 +260,7 @@ These gaps are visible in the current implementation.
|
|
|
258
260
|
CPython's OpenSSL-backed `ssl` module. In particular, encrypted private keys
|
|
259
261
|
are not supported yet, and the fast-stream monkeypatch still falls back to
|
|
260
262
|
stdlib helpers whenever `ssl` is enabled. TLS transport internals also still
|
|
261
|
-
use helper-thread paths instead of the
|
|
263
|
+
use helper-thread paths instead of the runtime-thread `vibeio` socket
|
|
262
264
|
path.
|
|
263
265
|
- Subprocess support still has one notable gap:
|
|
264
266
|
`preexec_fn` remains unsupported because running arbitrary Python between
|
|
@@ -272,8 +274,9 @@ These gaps are visible in the current implementation.
|
|
|
272
274
|
still specific to Unix process spawning.
|
|
273
275
|
- The transport runtime model is still in transition:
|
|
274
276
|
plain socket reads and non-TLS accepts now run on the loop runtime thread on
|
|
275
|
-
|
|
276
|
-
single-threaded I/O
|
|
277
|
+
all supported platforms, but generic descriptor watches, writes, and
|
|
278
|
+
TLS-heavy paths are not fully collapsed onto that same single-threaded I/O
|
|
279
|
+
path yet.
|
|
277
280
|
|
|
278
281
|
## Build
|
|
279
282
|
|
|
@@ -408,10 +411,7 @@ comparison demo.
|
|
|
408
411
|
## Acknowledgements
|
|
409
412
|
|
|
410
413
|
`rsloop` builds on the Python `asyncio` model and is implemented with
|
|
411
|
-
[PyO3](https://pyo3.rs/) on the Rust side.
|
|
412
|
-
current implementation rely in part on
|
|
413
|
-
[compio](https://github.com/compio-rs/compio). On Windows, parts of the
|
|
414
|
-
runtime also rely on
|
|
414
|
+
[PyO3](https://pyo3.rs/) on the Rust side. Runtime and socket I/O are powered by
|
|
415
415
|
[vibeio](https://crates.io/crates/vibeio).
|
|
416
416
|
|
|
417
417
|
## License
|