rsloop 0.1.45__tar.gz → 0.1.48__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.45 → rsloop-0.1.48}/.github/workflows/anyio.yml +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/.github/workflows/tests.yml +66 -8
- {rsloop-0.1.45 → rsloop-0.1.48}/.github/workflows/wheels.yml +19 -4
- rsloop-0.1.48/.python-version +1 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/Cargo.lock +90 -60
- rsloop-0.1.48/Cargo.toml +110 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/PKG-INFO +115 -43
- {rsloop-0.1.45 → rsloop-0.1.48}/README.md +114 -42
- {rsloop-0.1.45 → rsloop-0.1.48}/benches/README.md +100 -8
- {rsloop-0.1.45 → rsloop-0.1.48}/benches/check_regression.py +45 -2
- rsloop-0.1.48/benches/idle_statistics.py +62 -0
- rsloop-0.1.48/benches/runtime.rs +67 -0
- rsloop-0.1.48/benches/timer.rs +81 -0
- rsloop-0.1.48/benches/vibeio-performance.md +208 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/benches/workload_matrix.py +253 -38
- {rsloop-0.1.45 → rsloop-0.1.48}/build.rs +0 -17
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/development.md +33 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/project-structure.md +3 -1
- rsloop-0.1.48/docs/vibeio-cleanup.md +2819 -0
- rsloop-0.1.48/docs/vibeio-findings.md +1283 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/justfile +14 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/pyproject.toml +9 -1
- rsloop-0.1.48/rust-toolchain.toml +4 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/run_rust_tests.py +11 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/asyncgens.rs +25 -7
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/connections.rs +4 -4
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/methods.rs +2 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/servers.rs +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/build_metadata.rs +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/callbacks.rs +2 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/commands.rs +6 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/dispatcher.rs +22 -22
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/loop_core.rs +127 -25
- {rsloop-0.1.45 → rsloop-0.1.48}/src/lib.rs +5 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/profiler.rs +22 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/core_events.rs +6 -6
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/worker.rs +2 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/accept.rs +4 -4
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/buffers.rs +95 -8
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/builder.rs +3 -8
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/core_events.rs +17 -17
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/core_protocol.rs +45 -25
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/core_state.rs +12 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/core_write.rs +3 -3
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/py_transport.rs +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/reader.rs +19 -18
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/reader_task.rs +3 -3
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/server.rs +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/socket_transport.rs +3 -3
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/tls_session.rs +1 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/tls_transport.rs +2 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/writer.rs +3 -3
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/tls/material.rs +2 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/tls/mod.rs +2 -2
- rsloop-0.1.48/src/vibeio/blocking/default.rs +69 -0
- rsloop-0.1.48/src/vibeio/blocking/mod.rs +146 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/builder.rs +106 -51
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/driver/iocp.rs +610 -94
- rsloop-0.1.48/src/vibeio/driver/kqueue.rs +963 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/driver/mio.rs +112 -14
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/driver/mock.rs +45 -2
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/driver/mod.rs +272 -4
- rsloop-0.1.48/src/vibeio/driver/uring.rs +1514 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/executor.rs +624 -155
- rsloop-0.1.48/src/vibeio/fd_inner.rs +415 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/fs/file.rs +330 -223
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/fs/metadata.rs +17 -47
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/fs/mod.rs +396 -146
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/fs/open_options.rs +20 -33
- rsloop-0.1.48/src/vibeio/io/buf.rs +856 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/io/mod.rs +18 -17
- rsloop-0.1.48/src/vibeio/io/pipe.rs +467 -0
- rsloop-0.1.48/src/vibeio/io/splice.rs +393 -0
- rsloop-0.1.48/src/vibeio/io/stdio.rs +297 -0
- rsloop-0.1.48/src/vibeio/io/util.rs +594 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/lib.rs +14 -46
- rsloop-0.1.48/src/vibeio/net/mod.rs +245 -0
- rsloop-0.1.48/src/vibeio/net/tcp/listener.rs +257 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/net/tcp/stream.rs +144 -242
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/net/udp.rs +197 -209
- rsloop-0.1.48/src/vibeio/net/unix/listener.rs +183 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/net/unix/stream.rs +128 -70
- rsloop-0.1.48/src/vibeio/op/accept.rs +727 -0
- rsloop-0.1.48/src/vibeio/op/accept_unix.rs +340 -0
- rsloop-0.1.48/src/vibeio/op/connect.rs +878 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/fsync.rs +3 -4
- rsloop-0.1.48/src/vibeio/op/hard_link.rs +165 -0
- rsloop-0.1.48/src/vibeio/op/io_util.rs +681 -0
- rsloop-0.1.48/src/vibeio/op/mkdir.rs +145 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/mod.rs +25 -36
- rsloop-0.1.48/src/vibeio/op/open.rs +212 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/read.rs +141 -63
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/readat.rs +79 -26
- rsloop-0.1.48/src/vibeio/op/readv.rs +498 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/recv.rs +139 -46
- rsloop-0.1.48/src/vibeio/op/recvfrom.rs +612 -0
- rsloop-0.1.48/src/vibeio/op/rename.rs +165 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/send.rs +70 -42
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/sendto.rs +138 -153
- rsloop-0.1.48/src/vibeio/op/socket_addr.rs +356 -0
- rsloop-0.1.48/src/vibeio/op/splice.rs +499 -0
- rsloop-0.1.48/src/vibeio/op/statx.rs +190 -0
- rsloop-0.1.48/src/vibeio/op/symlink.rs +164 -0
- rsloop-0.1.48/src/vibeio/op/unlink.rs +146 -0
- rsloop-0.1.48/src/vibeio/op/waitpid.rs +210 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/write.rs +81 -54
- rsloop-0.1.48/src/vibeio/op/writeat.rs +361 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/writev.rs +151 -69
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/process/mod.rs +325 -279
- rsloop-0.1.48/src/vibeio/process/reaper.rs +669 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/signal/mod.rs +13 -9
- rsloop-0.1.48/src/vibeio/signal/unix.rs +823 -0
- rsloop-0.1.48/src/vibeio/signal/windows.rs +353 -0
- rsloop-0.1.48/src/vibeio/task.rs +191 -0
- rsloop-0.1.48/src/vibeio/time/interval.rs +239 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/time/mod.rs +79 -20
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/time/sleep.rs +104 -29
- rsloop-0.1.48/src/vibeio/time/timeout.rs +272 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/timer.rs +184 -5
- rsloop-0.1.48/src/vibeio/util/async_wrap.rs +720 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/util/mod.rs +2 -0
- rsloop-0.1.48/tests/packages/beanie_test.py +49 -0
- rsloop-0.1.48/tests/packages/django_orm_test.py +66 -0
- rsloop-0.1.48/tests/packages/edgy_test.py +41 -0
- rsloop-0.1.48/tests/packages/ormar_test.py +46 -0
- rsloop-0.1.48/tests/packages/piccolo_test.py +40 -0
- rsloop-0.1.48/tests/packages/sqlalchemy_test.py +50 -0
- rsloop-0.1.48/tests/packages/sqlmodel_test.py +43 -0
- rsloop-0.1.48/tests/packages/tortoise_orm_test.py +42 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_compat.py +137 -0
- rsloop-0.1.48/tests/test_idle_benchmark.py +280 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_run.py +8 -1
- {rsloop-0.1.45 → rsloop-0.1.48}/uv.lock +718 -1
- rsloop-0.1.45/Cargo.toml +0 -109
- rsloop-0.1.45/src/vibeio/blocking/default.rs +0 -37
- rsloop-0.1.45/src/vibeio/blocking/mod.rs +0 -57
- rsloop-0.1.45/src/vibeio/driver/kqueue.rs +0 -515
- rsloop-0.1.45/src/vibeio/driver/uring.rs +0 -825
- rsloop-0.1.45/src/vibeio/fd_inner.rs +0 -179
- rsloop-0.1.45/src/vibeio/io/buf.rs +0 -469
- rsloop-0.1.45/src/vibeio/io/pipe.rs +0 -324
- rsloop-0.1.45/src/vibeio/io/splice.rs +0 -164
- rsloop-0.1.45/src/vibeio/io/stdio.rs +0 -268
- rsloop-0.1.45/src/vibeio/io/util.rs +0 -244
- rsloop-0.1.45/src/vibeio/net/mod.rs +0 -55
- rsloop-0.1.45/src/vibeio/net/tcp/listener.rs +0 -468
- rsloop-0.1.45/src/vibeio/net/unix/listener.rs +0 -145
- rsloop-0.1.45/src/vibeio/op/accept.rs +0 -690
- rsloop-0.1.45/src/vibeio/op/accept_unix.rs +0 -162
- rsloop-0.1.45/src/vibeio/op/connect.rs +0 -531
- rsloop-0.1.45/src/vibeio/op/hard_link.rs +0 -93
- rsloop-0.1.45/src/vibeio/op/io_util.rs +0 -76
- rsloop-0.1.45/src/vibeio/op/mkdir.rs +0 -89
- rsloop-0.1.45/src/vibeio/op/open.rs +0 -95
- rsloop-0.1.45/src/vibeio/op/readv.rs +0 -366
- rsloop-0.1.45/src/vibeio/op/recvfrom.rs +0 -460
- rsloop-0.1.45/src/vibeio/op/rename.rs +0 -93
- rsloop-0.1.45/src/vibeio/op/splice.rs +0 -127
- rsloop-0.1.45/src/vibeio/op/statx.rs +0 -119
- rsloop-0.1.45/src/vibeio/op/symlink.rs +0 -92
- rsloop-0.1.45/src/vibeio/op/unlink.rs +0 -90
- rsloop-0.1.45/src/vibeio/op/waitpid.rs +0 -233
- rsloop-0.1.45/src/vibeio/op/writeat.rs +0 -166
- rsloop-0.1.45/src/vibeio/process/reaper.rs +0 -332
- rsloop-0.1.45/src/vibeio/signal/unix.rs +0 -526
- rsloop-0.1.45/src/vibeio/signal/windows.rs +0 -154
- rsloop-0.1.45/src/vibeio/task.rs +0 -121
- rsloop-0.1.45/src/vibeio/time/interval.rs +0 -145
- rsloop-0.1.45/src/vibeio/time/timeout.rs +0 -104
- rsloop-0.1.45/src/vibeio/util/async_wrap.rs +0 -470
- {rsloop-0.1.45 → rsloop-0.1.48}/.cargo/config.toml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/.github/workflows/kani.yml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/.github/workflows/mkdocs.yml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/.github/workflows/update-version.yml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/.gitignore +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/.vscode/settings.json +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/LICENSE +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/benches/compare_event_loops.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/examples.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/getting-started.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/how-it-works.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/index.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/rsloop.png +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/rust-extensions.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/docs/verification.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/01_basics.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/02_fd_and_sockets.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/03_streams.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/04_unix_and_accepted_socket.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/05_pipes_signals_subprocesses.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/README.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/fastapi_service.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/picows_server.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/picows_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/examples/wsbench_websockets.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/mkdocs.yml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/pyrightconfig.json +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/__init__.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/__init__.pyi +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/_bootstrap.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/_loop.pyi +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/_loop_compat.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/_profile.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/_run.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/python/rsloop/py.typed +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/qualirs.toml +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/build-pgo-wheels.sh +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/build-wheels.sh +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/generate_test_tls_certs.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/prepare_anyio_rsloop_tests.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/python-versions.sh +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/run_python_tests.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/scripts/test-supported-pythons.sh +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/async_event.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/asyncio_cache.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/executor.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/ffi_helpers.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/lifecycle.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/pipes.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/pre_exec.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/process_handles.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/process_spawn.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/process_stdio.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/signals.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/sock_ops.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/socket_connect.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/sockets.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/spawn_env.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/tasks.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/tls_params.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api/watchers.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/loop_api.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/bindings/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/blocking.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/context.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/dispatcher/timer_entry.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/engine/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/errors.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/module_init.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/platform/fd/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/platform/fd/windows.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/platform/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/platform/windows_vibeio.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/python_names.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/rust_async.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/core_protocol.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/core_state.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/params.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/py_pipes.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/py_transport.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/process/spawn.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/connect.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/fast.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/io_targets.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/pipe_transport.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/platform.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/poll.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/protocol.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/py_server.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/server_core.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/server_types.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/stats.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/tuning.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/worker.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/transport/stream/write_queue.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/verification.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/UPSTREAM.md +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/net/tcp/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/net/unix/mod.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/src/vibeio/op/readiness.rs +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/_smoke.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/aiohttp_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/anyio_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/daphne_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/django_asgi_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/falcon_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/fastapi_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/faststream_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/hypercorn_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/litestar_granian_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/litestar_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/mangum_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/quart_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/sanic_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/starlette_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/packages/uvicorn_test.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/proptest-regressions/transport/stream/fast.txt +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_free_threading.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_public_api.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_stream_reader.py +0 -0
- {rsloop-0.1.45 → rsloop-0.1.48}/tests/test_tls.py +0 -0
|
@@ -25,9 +25,17 @@ concurrency:
|
|
|
25
25
|
|
|
26
26
|
jobs:
|
|
27
27
|
rust-test:
|
|
28
|
-
name: rust tests
|
|
28
|
+
name: rust tests (${{ matrix.features }})
|
|
29
29
|
runs-on: ubuntu-latest
|
|
30
30
|
timeout-minutes: 15
|
|
31
|
+
strategy:
|
|
32
|
+
fail-fast: false
|
|
33
|
+
matrix:
|
|
34
|
+
include:
|
|
35
|
+
- features: default
|
|
36
|
+
test_args: ""
|
|
37
|
+
- features: all
|
|
38
|
+
test_args: "--all-features"
|
|
31
39
|
steps:
|
|
32
40
|
- name: Check out repository
|
|
33
41
|
uses: actions/checkout@v6
|
|
@@ -42,7 +50,7 @@ jobs:
|
|
|
42
50
|
- name: Set up Rust
|
|
43
51
|
uses: dtolnay/rust-toolchain@stable
|
|
44
52
|
with:
|
|
45
|
-
toolchain: 1.
|
|
53
|
+
toolchain: "1.98.1"
|
|
46
54
|
|
|
47
55
|
- name: Cache Cargo registry
|
|
48
56
|
uses: Swatinem/rust-cache@v2
|
|
@@ -51,10 +59,60 @@ jobs:
|
|
|
51
59
|
run: python3 scripts/generate_test_tls_certs.py
|
|
52
60
|
|
|
53
61
|
- name: Run Rust tests
|
|
54
|
-
run: python3 scripts/run_rust_tests.py
|
|
62
|
+
run: python3 scripts/run_rust_tests.py ${{ matrix.test_args }}
|
|
63
|
+
|
|
64
|
+
vibeio-native:
|
|
65
|
+
name: embedded runtime (${{ matrix.os }})
|
|
66
|
+
runs-on: ${{ matrix.os }}
|
|
67
|
+
timeout-minutes: 15
|
|
68
|
+
strategy:
|
|
69
|
+
fail-fast: false
|
|
70
|
+
matrix:
|
|
71
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
72
|
+
steps:
|
|
73
|
+
- name: Check out repository
|
|
74
|
+
uses: actions/checkout@v6
|
|
75
|
+
with:
|
|
76
|
+
persist-credentials: false
|
|
77
|
+
|
|
78
|
+
- name: Set up Rust
|
|
79
|
+
uses: dtolnay/rust-toolchain@stable
|
|
80
|
+
with:
|
|
81
|
+
toolchain: "1.98.1"
|
|
82
|
+
components: clippy, rustfmt
|
|
83
|
+
|
|
84
|
+
- name: Cache runtime harness build
|
|
85
|
+
uses: Swatinem/rust-cache@v2
|
|
86
|
+
with:
|
|
87
|
+
workspaces: tools/vibeio-check
|
|
88
|
+
|
|
89
|
+
- name: Check embedded runtime formatting
|
|
90
|
+
run: cargo fmt --manifest-path tools/vibeio-check/Cargo.toml --all -- --check
|
|
91
|
+
|
|
92
|
+
- name: Check embedded runtime documentation
|
|
93
|
+
env:
|
|
94
|
+
RUSTDOCFLAGS: -D warnings
|
|
95
|
+
run: cargo doc --manifest-path tools/vibeio-check/Cargo.toml --all-features --no-deps --locked
|
|
96
|
+
|
|
97
|
+
- name: Lint embedded runtime on the native target
|
|
98
|
+
run: cargo clippy --manifest-path tools/vibeio-check/Cargo.toml --all-targets --all-features --locked -- -D warnings
|
|
99
|
+
|
|
100
|
+
- name: Check isolated embedded runtime features
|
|
101
|
+
shell: bash
|
|
102
|
+
run: |
|
|
103
|
+
for feature in '' fs process signal pipe stdio splice blocking-default; do
|
|
104
|
+
cargo clippy --manifest-path tools/vibeio-check/Cargo.toml --all-targets --no-default-features --features "$feature" --locked -- -D warnings
|
|
105
|
+
cargo test --manifest-path tools/vibeio-check/Cargo.toml --no-default-features --features "$feature" --locked
|
|
106
|
+
done
|
|
107
|
+
|
|
108
|
+
- name: Run default-feature embedded runtime tests
|
|
109
|
+
run: cargo test --manifest-path tools/vibeio-check/Cargo.toml --locked
|
|
110
|
+
|
|
111
|
+
- name: Run all-feature embedded runtime tests
|
|
112
|
+
run: cargo test --manifest-path tools/vibeio-check/Cargo.toml --all-features --locked
|
|
55
113
|
|
|
56
114
|
clippy:
|
|
57
|
-
name: clippy (
|
|
115
|
+
name: clippy (risk-focused)
|
|
58
116
|
runs-on: ubuntu-latest
|
|
59
117
|
timeout-minutes: 15
|
|
60
118
|
steps:
|
|
@@ -71,14 +129,14 @@ jobs:
|
|
|
71
129
|
- name: Set up Rust
|
|
72
130
|
uses: dtolnay/rust-toolchain@stable
|
|
73
131
|
with:
|
|
74
|
-
toolchain: 1.
|
|
132
|
+
toolchain: "1.98.1"
|
|
75
133
|
components: clippy
|
|
76
134
|
|
|
77
135
|
- name: Cache Cargo registry
|
|
78
136
|
uses: Swatinem/rust-cache@v2
|
|
79
137
|
|
|
80
138
|
- name: Run Clippy
|
|
81
|
-
run: cargo clippy --all-targets --all-features -- -D warnings
|
|
139
|
+
run: cargo clippy --all-targets --all-features --locked -- -D warnings
|
|
82
140
|
|
|
83
141
|
type-check:
|
|
84
142
|
name: pyright
|
|
@@ -135,7 +193,7 @@ jobs:
|
|
|
135
193
|
- name: Set up Rust
|
|
136
194
|
uses: dtolnay/rust-toolchain@stable
|
|
137
195
|
with:
|
|
138
|
-
toolchain: 1.
|
|
196
|
+
toolchain: "1.98.1"
|
|
139
197
|
|
|
140
198
|
- name: Cache Cargo registry
|
|
141
199
|
uses: Swatinem/rust-cache@v2
|
|
@@ -245,7 +303,7 @@ jobs:
|
|
|
245
303
|
- name: Set up Rust
|
|
246
304
|
uses: dtolnay/rust-toolchain@stable
|
|
247
305
|
with:
|
|
248
|
-
toolchain: 1.
|
|
306
|
+
toolchain: "1.98.1"
|
|
249
307
|
|
|
250
308
|
- name: Cache Cargo registry
|
|
251
309
|
uses: Swatinem/rust-cache@v2
|
|
@@ -5,6 +5,12 @@ on:
|
|
|
5
5
|
tags:
|
|
6
6
|
- "v*"
|
|
7
7
|
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
pgo:
|
|
10
|
+
description: "Build wheels with profile-guided optimization (slower)"
|
|
11
|
+
type: boolean
|
|
12
|
+
required: false
|
|
13
|
+
default: false
|
|
8
14
|
|
|
9
15
|
permissions:
|
|
10
16
|
contents: read
|
|
@@ -62,8 +68,11 @@ jobs:
|
|
|
62
68
|
- name: Set up Rust
|
|
63
69
|
uses: dtolnay/rust-toolchain@stable
|
|
64
70
|
with:
|
|
65
|
-
toolchain:
|
|
66
|
-
|
|
71
|
+
toolchain: "1.98.1"
|
|
72
|
+
|
|
73
|
+
- name: Install LLVM tools for PGO
|
|
74
|
+
if: github.event_name == 'workflow_dispatch' && inputs.pgo
|
|
75
|
+
run: rustup component add llvm-tools-preview
|
|
67
76
|
|
|
68
77
|
- name: Cache Cargo registry and target
|
|
69
78
|
uses: Swatinem/rust-cache@v2
|
|
@@ -73,7 +82,13 @@ jobs:
|
|
|
73
82
|
shell: bash
|
|
74
83
|
env:
|
|
75
84
|
RSLOOP_PYTHON_VERSIONS: ${{ matrix.python_versions }}
|
|
76
|
-
|
|
85
|
+
PGO_ENABLED: ${{ github.event_name == 'workflow_dispatch' && inputs.pgo }}
|
|
86
|
+
run: |
|
|
87
|
+
if [[ "$PGO_ENABLED" == "true" ]]; then
|
|
88
|
+
scripts/build-pgo-wheels.sh --out dist --target "${{ matrix.rust_target }}"
|
|
89
|
+
else
|
|
90
|
+
scripts/build-wheels.sh --out dist --target "${{ matrix.rust_target }}"
|
|
91
|
+
fi
|
|
77
92
|
|
|
78
93
|
- name: Upload wheel artifacts
|
|
79
94
|
uses: actions/upload-artifact@v4
|
|
@@ -103,7 +118,7 @@ jobs:
|
|
|
103
118
|
- name: Set up Rust
|
|
104
119
|
uses: dtolnay/rust-toolchain@stable
|
|
105
120
|
with:
|
|
106
|
-
toolchain:
|
|
121
|
+
toolchain: "1.98.1"
|
|
107
122
|
|
|
108
123
|
- name: Cache Cargo registry and target
|
|
109
124
|
uses: Swatinem/rust-cache@v2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.14.7
|
|
@@ -4,9 +4,9 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "aho-corasick"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.5"
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "
|
|
9
|
+
checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
|
|
10
10
|
dependencies = [
|
|
11
11
|
"memchr",
|
|
12
12
|
]
|
|
@@ -197,15 +197,9 @@ dependencies = [
|
|
|
197
197
|
|
|
198
198
|
[[package]]
|
|
199
199
|
name = "bitflags"
|
|
200
|
-
version = "
|
|
201
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
202
|
-
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
203
|
-
|
|
204
|
-
[[package]]
|
|
205
|
-
name = "bitflags"
|
|
206
|
-
version = "2.13.0"
|
|
200
|
+
version = "2.13.1"
|
|
207
201
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
208
|
-
checksum = "
|
|
202
|
+
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
|
|
209
203
|
|
|
210
204
|
[[package]]
|
|
211
205
|
name = "blocking"
|
|
@@ -234,9 +228,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
|
|
|
234
228
|
|
|
235
229
|
[[package]]
|
|
236
230
|
name = "cc"
|
|
237
|
-
version = "1.
|
|
231
|
+
version = "1.4.4"
|
|
238
232
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
239
|
-
checksum = "
|
|
233
|
+
checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273"
|
|
240
234
|
dependencies = [
|
|
241
235
|
"find-msvc-tools",
|
|
242
236
|
"jobserver",
|
|
@@ -359,9 +353,9 @@ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
|
|
|
359
353
|
|
|
360
354
|
[[package]]
|
|
361
355
|
name = "find-msvc-tools"
|
|
362
|
-
version = "0.1.
|
|
356
|
+
version = "0.1.11"
|
|
363
357
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
364
|
-
checksum = "
|
|
358
|
+
checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890"
|
|
365
359
|
|
|
366
360
|
[[package]]
|
|
367
361
|
name = "fs_extra"
|
|
@@ -399,6 +393,17 @@ version = "0.3.33"
|
|
|
399
393
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
400
394
|
checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
|
|
401
395
|
|
|
396
|
+
[[package]]
|
|
397
|
+
name = "futures-executor"
|
|
398
|
+
version = "0.3.33"
|
|
399
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
400
|
+
checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458"
|
|
401
|
+
dependencies = [
|
|
402
|
+
"futures-core",
|
|
403
|
+
"futures-task",
|
|
404
|
+
"futures-util",
|
|
405
|
+
]
|
|
406
|
+
|
|
402
407
|
[[package]]
|
|
403
408
|
name = "futures-io"
|
|
404
409
|
version = "0.3.33"
|
|
@@ -492,10 +497,21 @@ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
|
|
|
492
497
|
dependencies = [
|
|
493
498
|
"cfg-if",
|
|
494
499
|
"libc",
|
|
495
|
-
"r-efi",
|
|
500
|
+
"r-efi 5.3.0",
|
|
496
501
|
"wasip2",
|
|
497
502
|
]
|
|
498
503
|
|
|
504
|
+
[[package]]
|
|
505
|
+
name = "getrandom"
|
|
506
|
+
version = "0.4.3"
|
|
507
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
508
|
+
checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
|
|
509
|
+
dependencies = [
|
|
510
|
+
"cfg-if",
|
|
511
|
+
"libc",
|
|
512
|
+
"r-efi 6.0.0",
|
|
513
|
+
]
|
|
514
|
+
|
|
499
515
|
[[package]]
|
|
500
516
|
name = "gloo-timers"
|
|
501
517
|
version = "0.3.0"
|
|
@@ -522,21 +538,22 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
|
|
|
522
538
|
|
|
523
539
|
[[package]]
|
|
524
540
|
name = "io-uring"
|
|
525
|
-
version = "0.
|
|
541
|
+
version = "0.7.14"
|
|
526
542
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
527
|
-
checksum = "
|
|
543
|
+
checksum = "d64d8ca234d152948ceaede1f419b6a83983a5ecccaac05fb337a809c96d3aa6"
|
|
528
544
|
dependencies = [
|
|
529
|
-
"bitflags
|
|
545
|
+
"bitflags",
|
|
546
|
+
"cfg-if",
|
|
530
547
|
"libc",
|
|
531
548
|
]
|
|
532
549
|
|
|
533
550
|
[[package]]
|
|
534
551
|
name = "jobserver"
|
|
535
|
-
version = "0.1.
|
|
552
|
+
version = "0.1.35"
|
|
536
553
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
537
|
-
checksum = "
|
|
554
|
+
checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3"
|
|
538
555
|
dependencies = [
|
|
539
|
-
"getrandom 0.3
|
|
556
|
+
"getrandom 0.4.3",
|
|
540
557
|
"libc",
|
|
541
558
|
]
|
|
542
559
|
|
|
@@ -568,9 +585,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
|
|
568
585
|
|
|
569
586
|
[[package]]
|
|
570
587
|
name = "libc"
|
|
571
|
-
version = "0.2.
|
|
588
|
+
version = "0.2.189"
|
|
572
589
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
573
|
-
checksum = "
|
|
590
|
+
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
|
|
574
591
|
|
|
575
592
|
[[package]]
|
|
576
593
|
name = "linux-raw-sys"
|
|
@@ -580,9 +597,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
|
|
|
580
597
|
|
|
581
598
|
[[package]]
|
|
582
599
|
name = "log"
|
|
583
|
-
version = "0.4.
|
|
600
|
+
version = "0.4.34"
|
|
584
601
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
585
|
-
checksum = "
|
|
602
|
+
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
|
|
586
603
|
dependencies = [
|
|
587
604
|
"value-bag",
|
|
588
605
|
]
|
|
@@ -645,6 +662,16 @@ dependencies = [
|
|
|
645
662
|
"autocfg",
|
|
646
663
|
]
|
|
647
664
|
|
|
665
|
+
[[package]]
|
|
666
|
+
name = "num_cpus"
|
|
667
|
+
version = "1.17.0"
|
|
668
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
669
|
+
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
|
|
670
|
+
dependencies = [
|
|
671
|
+
"hermit-abi",
|
|
672
|
+
"libc",
|
|
673
|
+
]
|
|
674
|
+
|
|
648
675
|
[[package]]
|
|
649
676
|
name = "once_cell"
|
|
650
677
|
version = "1.21.4"
|
|
@@ -730,33 +757,13 @@ dependencies = [
|
|
|
730
757
|
"unicode-ident",
|
|
731
758
|
]
|
|
732
759
|
|
|
733
|
-
[[package]]
|
|
734
|
-
name = "profiling"
|
|
735
|
-
version = "1.0.18"
|
|
736
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
737
|
-
checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5"
|
|
738
|
-
dependencies = [
|
|
739
|
-
"profiling-procmacros",
|
|
740
|
-
"tracy-client",
|
|
741
|
-
]
|
|
742
|
-
|
|
743
|
-
[[package]]
|
|
744
|
-
name = "profiling-procmacros"
|
|
745
|
-
version = "1.0.18"
|
|
746
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
747
|
-
checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb"
|
|
748
|
-
dependencies = [
|
|
749
|
-
"quote",
|
|
750
|
-
"syn",
|
|
751
|
-
]
|
|
752
|
-
|
|
753
760
|
[[package]]
|
|
754
761
|
name = "proptest"
|
|
755
762
|
version = "1.11.0"
|
|
756
763
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
757
764
|
checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744"
|
|
758
765
|
dependencies = [
|
|
759
|
-
"bitflags
|
|
766
|
+
"bitflags",
|
|
760
767
|
"num-traits",
|
|
761
768
|
"rand",
|
|
762
769
|
"rand_chacha",
|
|
@@ -851,6 +858,12 @@ version = "5.3.0"
|
|
|
851
858
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
852
859
|
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
|
853
860
|
|
|
861
|
+
[[package]]
|
|
862
|
+
name = "r-efi"
|
|
863
|
+
version = "6.0.0"
|
|
864
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
865
|
+
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
|
|
866
|
+
|
|
854
867
|
[[package]]
|
|
855
868
|
name = "rand"
|
|
856
869
|
version = "0.9.5"
|
|
@@ -891,9 +904,9 @@ dependencies = [
|
|
|
891
904
|
|
|
892
905
|
[[package]]
|
|
893
906
|
name = "regex-automata"
|
|
894
|
-
version = "0.4.
|
|
907
|
+
version = "0.4.18"
|
|
895
908
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
896
|
-
checksum = "
|
|
909
|
+
checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
|
|
897
910
|
dependencies = [
|
|
898
911
|
"aho-corasick",
|
|
899
912
|
"memchr",
|
|
@@ -922,20 +935,23 @@ dependencies = [
|
|
|
922
935
|
|
|
923
936
|
[[package]]
|
|
924
937
|
name = "rsloop"
|
|
925
|
-
version = "0.1.
|
|
938
|
+
version = "0.1.48"
|
|
926
939
|
dependencies = [
|
|
940
|
+
"async-channel 2.5.0",
|
|
927
941
|
"async-io",
|
|
928
942
|
"async-std",
|
|
929
943
|
"crossbeam-channel",
|
|
930
944
|
"crossbeam-queue",
|
|
945
|
+
"errno",
|
|
931
946
|
"futures",
|
|
932
947
|
"futures-util",
|
|
933
948
|
"io-uring",
|
|
934
949
|
"libc",
|
|
935
950
|
"memchr",
|
|
936
951
|
"mio",
|
|
952
|
+
"once_cell",
|
|
937
953
|
"oneshot",
|
|
938
|
-
"
|
|
954
|
+
"pin-project-lite",
|
|
939
955
|
"proptest",
|
|
940
956
|
"pyo3",
|
|
941
957
|
"pyo3-async-runtimes",
|
|
@@ -943,11 +959,13 @@ dependencies = [
|
|
|
943
959
|
"rustls",
|
|
944
960
|
"rustls-native-certs",
|
|
945
961
|
"rustls-pemfile",
|
|
962
|
+
"rusty_pool",
|
|
946
963
|
"signal-hook",
|
|
947
964
|
"slab",
|
|
948
965
|
"socket2",
|
|
949
966
|
"tokio",
|
|
950
967
|
"tracy-client",
|
|
968
|
+
"tracy-client-sys",
|
|
951
969
|
"windows-sys 0.61.2",
|
|
952
970
|
]
|
|
953
971
|
|
|
@@ -957,7 +975,7 @@ version = "1.1.4"
|
|
|
957
975
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
958
976
|
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
|
|
959
977
|
dependencies = [
|
|
960
|
-
"bitflags
|
|
978
|
+
"bitflags",
|
|
961
979
|
"errno",
|
|
962
980
|
"libc",
|
|
963
981
|
"linux-raw-sys",
|
|
@@ -1023,9 +1041,21 @@ dependencies = [
|
|
|
1023
1041
|
|
|
1024
1042
|
[[package]]
|
|
1025
1043
|
name = "rustversion"
|
|
1026
|
-
version = "1.0.
|
|
1044
|
+
version = "1.0.23"
|
|
1027
1045
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1028
|
-
checksum = "
|
|
1046
|
+
checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
|
|
1047
|
+
|
|
1048
|
+
[[package]]
|
|
1049
|
+
name = "rusty_pool"
|
|
1050
|
+
version = "0.7.0"
|
|
1051
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1052
|
+
checksum = "4ed36cdb20de66d89a17ea04b8883fc7a386f2cf877aaedca5005583ce4876ff"
|
|
1053
|
+
dependencies = [
|
|
1054
|
+
"crossbeam-channel",
|
|
1055
|
+
"futures-channel",
|
|
1056
|
+
"futures-executor",
|
|
1057
|
+
"num_cpus",
|
|
1058
|
+
]
|
|
1029
1059
|
|
|
1030
1060
|
[[package]]
|
|
1031
1061
|
name = "schannel"
|
|
@@ -1048,7 +1078,7 @@ version = "3.7.0"
|
|
|
1048
1078
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1049
1079
|
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
|
|
1050
1080
|
dependencies = [
|
|
1051
|
-
"bitflags
|
|
1081
|
+
"bitflags",
|
|
1052
1082
|
"core-foundation",
|
|
1053
1083
|
"core-foundation-sys",
|
|
1054
1084
|
"libc",
|
|
@@ -1147,9 +1177,9 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
|
1147
1177
|
|
|
1148
1178
|
[[package]]
|
|
1149
1179
|
name = "thread_local"
|
|
1150
|
-
version = "1.1.
|
|
1180
|
+
version = "1.1.10"
|
|
1151
1181
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1152
|
-
checksum = "
|
|
1182
|
+
checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070"
|
|
1153
1183
|
dependencies = [
|
|
1154
1184
|
"cfg-if",
|
|
1155
1185
|
]
|
|
@@ -1215,9 +1245,9 @@ dependencies = [
|
|
|
1215
1245
|
|
|
1216
1246
|
[[package]]
|
|
1217
1247
|
name = "tracy-client"
|
|
1218
|
-
version = "0.
|
|
1248
|
+
version = "0.19.0"
|
|
1219
1249
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1220
|
-
checksum = "
|
|
1250
|
+
checksum = "d93fd676d8946eaeaff4881d26d2240a8d106fcaccbd47cb9f1389e3561ba490"
|
|
1221
1251
|
dependencies = [
|
|
1222
1252
|
"loom",
|
|
1223
1253
|
"once_cell",
|
|
@@ -1226,9 +1256,9 @@ dependencies = [
|
|
|
1226
1256
|
|
|
1227
1257
|
[[package]]
|
|
1228
1258
|
name = "tracy-client-sys"
|
|
1229
|
-
version = "0.
|
|
1259
|
+
version = "0.30.0"
|
|
1230
1260
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1231
|
-
checksum = "
|
|
1261
|
+
checksum = "eef8a023d2b19f44e430da334f7dfb5e5db219bb83e2b4f56a09c1cb12abe915"
|
|
1232
1262
|
dependencies = [
|
|
1233
1263
|
"cc",
|
|
1234
1264
|
"windows-targets",
|
rsloop-0.1.48/Cargo.toml
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "rsloop"
|
|
3
|
+
version = "0.1.48"
|
|
4
|
+
edition = "2024"
|
|
5
|
+
description = "An event loop for asyncio written in Rust"
|
|
6
|
+
license = "Apache-2.0"
|
|
7
|
+
readme = "README.md"
|
|
8
|
+
repository = "https://github.com/RustedBytes/rsloop"
|
|
9
|
+
homepage = "https://github.com/RustedBytes/rsloop"
|
|
10
|
+
documentation = "https://github.com/RustedBytes/rsloop#readme"
|
|
11
|
+
|
|
12
|
+
[lib]
|
|
13
|
+
name = "rsloop"
|
|
14
|
+
crate-type = ["cdylib", "rlib"]
|
|
15
|
+
|
|
16
|
+
[features]
|
|
17
|
+
default = []
|
|
18
|
+
profiler = ["dep:tracy-client", "dep:tracy-client-sys"]
|
|
19
|
+
# Embedded-runtime modules are opt-in; production wheels retain the default
|
|
20
|
+
# networking/timer build unless a feature is explicitly requested.
|
|
21
|
+
fs = []
|
|
22
|
+
process = ["dep:async-channel"]
|
|
23
|
+
signal = ["dep:once_cell", "dep:errno"]
|
|
24
|
+
pipe = []
|
|
25
|
+
stdio = []
|
|
26
|
+
splice = []
|
|
27
|
+
blocking-default = ["dep:rusty_pool"]
|
|
28
|
+
|
|
29
|
+
[dependencies]
|
|
30
|
+
errno = { version = "0.3", optional = true }
|
|
31
|
+
async-channel = { version = "2", optional = true }
|
|
32
|
+
async-io = "2"
|
|
33
|
+
async-std = "1"
|
|
34
|
+
crossbeam-channel = "0.5"
|
|
35
|
+
crossbeam-queue = "0.3"
|
|
36
|
+
futures = { version = "0.3", default-features = false, features = ["std"] }
|
|
37
|
+
futures-util = "0.3"
|
|
38
|
+
libc = "0.2"
|
|
39
|
+
memchr = "2"
|
|
40
|
+
mio = "1"
|
|
41
|
+
oneshot = { version = "0.2", features = ["async", "std"] }
|
|
42
|
+
pin-project-lite = "0.2"
|
|
43
|
+
once_cell = { version = "1", optional = true }
|
|
44
|
+
pyo3 = { version = "0.29.2" }
|
|
45
|
+
pyo3-async-runtimes = { version = "0.29", features = ["async-std-runtime"] }
|
|
46
|
+
rustls = "0.23"
|
|
47
|
+
rustls-native-certs = "0.8"
|
|
48
|
+
rustls-pemfile = "2"
|
|
49
|
+
rusty_pool = { version = "0.7", default-features = false, optional = true }
|
|
50
|
+
signal-hook = "0.4"
|
|
51
|
+
slab = "0.4"
|
|
52
|
+
socket2 = "0.6"
|
|
53
|
+
tokio = { version = "1", default-features = false, features = ["io-util"] }
|
|
54
|
+
tracy-client = { version = "0.19", default-features = false, features = ["enable", "only-localhost", "sampling"], optional = true }
|
|
55
|
+
# tracy-client 0.19 accepts older sys releases whose generated API is
|
|
56
|
+
# incompatible with the wrapper. Keep the matching bindings selected.
|
|
57
|
+
tracy-client-sys = { version = "=0.30.0", default-features = false, optional = true }
|
|
58
|
+
[target.'cfg(target_os = "linux")'.dependencies]
|
|
59
|
+
io-uring = "0.7"
|
|
60
|
+
|
|
61
|
+
[target.'cfg(unix)'.dependencies]
|
|
62
|
+
mio = { version = "1", features = ["os-poll", "os-ext"] }
|
|
63
|
+
|
|
64
|
+
[target.'cfg(windows)'.dependencies]
|
|
65
|
+
windows-sys = { version = "0.61", features = ["Wdk_Foundation", "Wdk_Storage_FileSystem", "Wdk_System_IO", "Wdk_System_SystemServices", "Win32_Foundation", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_SystemInformation", "Win32_System_Threading"] }
|
|
66
|
+
|
|
67
|
+
[build-dependencies]
|
|
68
|
+
pyo3-build-config = "0.29.2"
|
|
69
|
+
|
|
70
|
+
[dev-dependencies]
|
|
71
|
+
proptest = { version = "1", default-features = false, features = ["std"] }
|
|
72
|
+
|
|
73
|
+
[lints.clippy]
|
|
74
|
+
# Enforce bug, concurrency, and performance checks rather than style preferences.
|
|
75
|
+
correctness = { level = "deny", priority = -1 }
|
|
76
|
+
suspicious = { level = "warn", priority = -1 }
|
|
77
|
+
perf = { level = "warn", priority = -1 }
|
|
78
|
+
complexity = { level = "warn", priority = -1 }
|
|
79
|
+
style = { level = "allow", priority = -1 }
|
|
80
|
+
pedantic = { level = "allow", priority = -1 }
|
|
81
|
+
# Keep safety checks even when they belong to an otherwise disabled group.
|
|
82
|
+
missing_safety_doc = "warn"
|
|
83
|
+
cast_ptr_alignment = "warn"
|
|
84
|
+
await_holding_lock = "warn"
|
|
85
|
+
await_holding_refcell_ref = "warn"
|
|
86
|
+
|
|
87
|
+
[lints.rust]
|
|
88
|
+
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(kani)", "cfg(musl_v1_2_3)", "cfg(syscall_accept4)", "cfg(feature, values(\"blocking-default\", \"fs\", \"pipe\", \"process\", \"signal\", \"splice\", \"stdio\"))"] }
|
|
89
|
+
|
|
90
|
+
[package.metadata.kani.flags]
|
|
91
|
+
# Force every proof that reaches a loop to state and review its own bound.
|
|
92
|
+
default-unwind = "1"
|
|
93
|
+
|
|
94
|
+
[profile.release]
|
|
95
|
+
opt-level = 3
|
|
96
|
+
lto = "fat"
|
|
97
|
+
codegen-units = 1
|
|
98
|
+
incremental = false
|
|
99
|
+
# strip = true
|
|
100
|
+
|
|
101
|
+
[profile.bench]
|
|
102
|
+
inherits = "release"
|
|
103
|
+
|
|
104
|
+
[[bench]]
|
|
105
|
+
name = "runtime"
|
|
106
|
+
harness = false
|
|
107
|
+
|
|
108
|
+
[[bench]]
|
|
109
|
+
name = "timer"
|
|
110
|
+
harness = false
|