veil-api 0.8.2__tar.gz → 0.8.3__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.
- {veil_api-0.8.2 → veil_api-0.8.3}/Cargo.lock +7 -6
- {veil_api-0.8.2 → veil_api-0.8.3}/Cargo.toml +10 -7
- veil_api-0.8.3/PKG-INFO +130 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/README.crates-io.md +3 -11
- veil_api-0.8.3/README.md +106 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/build.rs +6 -43
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/README.crates-io.md +3 -11
- veil_api-0.8.3/crates/veil-macros/src/lib.rs +78 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/main_attr.rs +1 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/route.rs +3 -3
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/schema.rs +6 -6
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/util.rs +8 -8
- veil_api-0.8.3/crates/veil-python/README.md +106 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/configuration.md +7 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/ext.rs +23 -20
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/lib.rs +32 -28
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/native.rs +39 -34
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/e2e.sh +3 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/__init__.py +14 -12
- {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/grpc.py +2 -2
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/app.rs +65 -59
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/bridge.rs +55 -47
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/config.rs +93 -58
- veil_api-0.8.3/src/api/default_config.toml +37 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/dispatch.rs +18 -14
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/extract.rs +17 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/blocking.rs +23 -20
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/health.rs +16 -13
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/mod.rs +124 -106
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/reflection.rs +26 -20
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/tests.rs +28 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/web.rs +26 -23
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/wire.rs +12 -11
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/handler.rs +57 -55
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/l4.rs +56 -53
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/mod.rs +20 -19
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/openapi.rs +12 -11
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/pattern.rs +23 -22
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/request.rs +39 -35
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/response.rs +38 -34
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/routes.rs +18 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/schema.rs +35 -34
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/stream.rs +22 -20
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/tokio_compat.rs +17 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/api/tower.rs +34 -29
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/resolve.rs +14 -12
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/loaded.rs +1 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/validate.rs +2 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/src/entry.rs +15 -12
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/compression.rs +6 -5
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/status.rs +1 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/encoder.rs +1 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/src/lib.rs +16 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h2.rs +2 -2
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/executor.rs +1 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/src/security.rs +20 -20
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/fs.rs +8 -7
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/future.rs +3 -3
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/mod.rs +7 -5
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/read_buf.rs +5 -5
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/util.rs +29 -29
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/macros.rs +8 -7
- veil_api-0.8.3/src/tokio/mod.rs +54 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/mod.rs +49 -46
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/sys_unix.rs +16 -15
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/sys_windows.rs +20 -17
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/unix_impl.rs +19 -19
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/runtime.rs +42 -37
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/signal.rs +22 -25
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/broadcast.rs +12 -12
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mod.rs +4 -2
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mpsc.rs +24 -24
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mutex.rs +16 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/notify.rs +16 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/oneshot.rs +9 -9
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/semaphore.rs +10 -10
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/watch.rs +12 -12
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/task.rs +51 -49
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/time.rs +35 -33
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/waker.rs +48 -43
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/heap.rs +77 -71
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/huge.rs +9 -7
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/lock.rs +10 -8
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/mod.rs +60 -51
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/os.rs +19 -16
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/segment.rs +46 -43
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/size_class.rs +24 -19
- {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/tests.rs +2 -2
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/types.rs +2 -2
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/Cargo.toml +10 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/README.veil.md +25 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/boringssl.rs +2 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/mod.rs +2 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/lib.rs +5 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/rand.rs +2 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/boringssl.rs +11 -1
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/mod.rs +2 -1
- veil_api-0.8.3/third_party/quiche/src/veil_ffi.rs +167 -0
- veil_api-0.8.2/PKG-INFO +0 -205
- veil_api-0.8.2/README.md +0 -181
- veil_api-0.8.2/crates/veil-macros/src/lib.rs +0 -71
- veil_api-0.8.2/crates/veil-python/README.md +0 -181
- veil_api-0.8.2/src/api/default_config.toml +0 -30
- veil_api-0.8.2/src/tokio/mod.rs +0 -54
- {veil_api-0.8.2 → veil_api-0.8.3}/LICENSE-APACHE +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/LICENSE-MIT +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/Cargo.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/l4.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/Cargo.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/conf.py +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/dependency-injection.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/grpc.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/index.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/locale/.gitkeep +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/quickstart.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/requests-responses.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/requirements.txt +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/routing.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/websocket.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/test_binding.py +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/test_native.py +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/pyproject.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/_veil.pyi +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/py.typed +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/access_log.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/challenge.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/client.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/jws.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/x509.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/alloc_stats.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/alloc_tune.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/config.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/handler.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/compressed.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/config.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/content_cache.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/disk.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/entry.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/file_cache.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/index.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/key.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/manager.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/policy.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/revalidation.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/shm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/static_file.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/async_io.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/backend.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/cli.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/compression.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/log_config.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/net_policy.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/prometheus.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/runtime_state.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/sandbox_paths.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/tls_connector.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/tls_server.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config/upstream_group.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/config_override.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/connect_broker.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/constants.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/ctrl_http.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/fuzz_api.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/framing.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/headers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/stream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/web.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/connection.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/error.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/decoder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/encoder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/types.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/decoder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/huffman.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/huffman_decode_table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/settings.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/stream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/upstream_mux.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/event_loop.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/request_task.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/streaming.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/upstream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_stream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_wire.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/http_utils.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/jwt_verify.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls_freebsd.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls_rustls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/health.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/proxy.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/server.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/udp.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/l7.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/legacy_bin_tests.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/listen_addr.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/logging.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/main.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/accesslog.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/admin.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/detect.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/bootstrap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/sds.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/testdata/istio_bootstrap.json +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/h2.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/hbone.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/http1.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/httpcore.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/identity.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/jwt.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/l7.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/admin.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/conn.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/control.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/discovery.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/env.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/identity.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/metrics.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/proto.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/tap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/mirror.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/model.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/net.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/peer.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/server.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/state.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/stats.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/tcp.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/tracing.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/upstream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/wasm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/ads.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/dump.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/proto.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/rbac.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/translate.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/metrics.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/otel.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/path_norm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/protocol/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/protocol/negotiation.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/buffered.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/compress.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/detect.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/forward.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h1.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h2_request_body.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/https.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/sendfile.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/splice.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/transfer.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/websocket.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/resilience.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/route_traffic.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/routing/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/buf.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/dns.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/fallback.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/handle.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/io.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/offload.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/aio.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/epoll.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/kqueue.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/poller.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/sendfile.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/splice.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/unix.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/windows.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/timer.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/wsapoll.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/udp.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/executor.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/ring.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/splice.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/tcp.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/timer.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/udp_recv.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/udp_send.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/server.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/simple_tls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/stream_channel.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/system.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_provider.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_reload.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_writev.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/udp/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/udp/socket.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/upstream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/upstream_tls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/vds.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/vds_grpc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/capabilities.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/constants.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/context.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/engine.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/grpc_integration.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/abi.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/buffers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/foreign.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_executor.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_tls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/headers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/http_call.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/logging.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/metrics.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/properties.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/shared_data.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/shared_queue.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/stream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/wasi.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/http_executor.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/integration.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/openbsd_stack.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/persistent_context.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/queue_notify.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/registry.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/tests.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/tick_manager.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm_plugin_config.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/src/x509_san.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/COPYING +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/README.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/include/quiche.h +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/rustfmt.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/build.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/cid.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/openssl_quictls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/dgram.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/error.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/ffi.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/flowcontrol.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/frame.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/ffi.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/frame.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/decoder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/encoder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/static_table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/stream.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/minmax.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/packet.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/path.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/pmtud.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/range_buf.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/ranges.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/bandwidth.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/bytes_in_flight.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/cubic.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/delivery_rate.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/hystart.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/prr.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/recovery.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/reno.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/test_sender.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr/bandwidth_sampler.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr/windowed_filter.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/drain.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/mode.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/network_model.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/probe_bw.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/probe_rtt.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/startup.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/pacer.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/recovery.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/rtt.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/recv_buf.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/send_buf.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/test_utils.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tests.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/openssl_quictls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/transport_params.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/Cargo.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/LICENSE +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/README.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/README.veil.md +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/build.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/rustfmt.toml +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/call_graph.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/code_builder.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/runtime.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/scc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/stratify.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/config.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/engine/serialization.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/engine.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/lib.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/jitdump.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/perfmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/pulley.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/vtune.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/code.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/code_memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_7_async.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/component.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/abort.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/error_contexts.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/futures_and_streams/buffers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/futures_and_streams.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/states.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/tls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent_disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/host.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/options.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/typed.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/has_data.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/instance.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/linker.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/matching.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/resource_table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/resources.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/storage.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/store.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/types.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/values.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/coredump.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/debug.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/global.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/tag.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/fiber.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/func/typed.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/func.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/anyref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/arrayref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/eqref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/exnref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/externref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/i31.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/rooting.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/structref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/anyref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/arrayref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/eqref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/exnref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/externref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/i31.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/rooting.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/structref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/noextern.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/none_ref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/instance.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/instantiate.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/limits.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/linker.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/module/registry.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/module.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/profiling.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/resources.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/stack.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/async_.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/context.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/data.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/func_refs.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/gc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/token.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/func.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/global.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/tag.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/type_registry.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/types/matching.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/types.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/uninhabited.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/unix.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/v128.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/values.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/async_yield.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/byte_count.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component/libcalls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component/resources.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/const_expr.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/cow.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/cow_disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/debug_builtins.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/export.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/arrayref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/data.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/drc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/exnref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/externref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/free_list.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/null.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/structref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/func_ref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/gc_ref.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/gc_runtime.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/host_data.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/i31.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/helpers.c +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/imports.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/interpreter.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/interpreter_disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/libcalls.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/malloc.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/shared_memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/shared_memory_disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/static_.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mmap_vec.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/module_id.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/enabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/pkru.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/sys.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/parking_spot.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/provenance.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/send_sync_ptr.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/send_sync_unsafe_cell.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/dummy.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/store_box.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/capi.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/unwind.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/vm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/unwind.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/vm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/machports.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/signals.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/traphandlers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/unwind.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/vm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/mmap.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/mod.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/unwind64.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/vectored_exceptions.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/vm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/table.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/backtrace.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/signals.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/vmcontext.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave/component.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave/core.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/windows.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/sync_nostd.rs +0 -0
- {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/sync_std.rs +0 -0
|
@@ -4301,7 +4301,7 @@ dependencies = [
|
|
|
4301
4301
|
|
|
4302
4302
|
[[package]]
|
|
4303
4303
|
name = "veil-capi"
|
|
4304
|
-
version = "0.8.
|
|
4304
|
+
version = "0.8.3"
|
|
4305
4305
|
dependencies = [
|
|
4306
4306
|
"bytes",
|
|
4307
4307
|
"serde_json",
|
|
@@ -4319,7 +4319,7 @@ dependencies = [
|
|
|
4319
4319
|
|
|
4320
4320
|
[[package]]
|
|
4321
4321
|
name = "veil-proxy"
|
|
4322
|
-
version = "0.8.
|
|
4322
|
+
version = "0.8.3"
|
|
4323
4323
|
dependencies = [
|
|
4324
4324
|
"anyhow",
|
|
4325
4325
|
"arc-swap",
|
|
@@ -4403,14 +4403,14 @@ dependencies = [
|
|
|
4403
4403
|
|
|
4404
4404
|
[[package]]
|
|
4405
4405
|
name = "veil-proxy-build"
|
|
4406
|
-
version = "0.8.
|
|
4406
|
+
version = "0.8.3"
|
|
4407
4407
|
dependencies = [
|
|
4408
4408
|
"prost-build",
|
|
4409
4409
|
]
|
|
4410
4410
|
|
|
4411
4411
|
[[package]]
|
|
4412
4412
|
name = "veil-proxy-macros"
|
|
4413
|
-
version = "0.8.
|
|
4413
|
+
version = "0.8.3"
|
|
4414
4414
|
dependencies = [
|
|
4415
4415
|
"proc-macro2",
|
|
4416
4416
|
"quote",
|
|
@@ -4419,8 +4419,9 @@ dependencies = [
|
|
|
4419
4419
|
|
|
4420
4420
|
[[package]]
|
|
4421
4421
|
name = "veil-proxy-quiche"
|
|
4422
|
-
version = "0.24.9-veil.
|
|
4422
|
+
version = "0.24.9-veil.2"
|
|
4423
4423
|
dependencies = [
|
|
4424
|
+
"aws-lc-sys",
|
|
4424
4425
|
"boring",
|
|
4425
4426
|
"cdylib-link-lines",
|
|
4426
4427
|
"cmake",
|
|
@@ -4509,7 +4510,7 @@ dependencies = [
|
|
|
4509
4510
|
|
|
4510
4511
|
[[package]]
|
|
4511
4512
|
name = "veil-python"
|
|
4512
|
-
version = "0.8.
|
|
4513
|
+
version = "0.8.3"
|
|
4513
4514
|
dependencies = [
|
|
4514
4515
|
"bytes",
|
|
4515
4516
|
"itoa",
|
|
@@ -40,7 +40,7 @@ resolver = "2"
|
|
|
40
40
|
# (ルートから veil-macros への依存の版と、ワークスペース外の Cargo.lock も一緒に更新する)。
|
|
41
41
|
# 公開の workflow(.github/workflows/release.yml)はタグとこの版が違えば何も公開しない。
|
|
42
42
|
[workspace.package]
|
|
43
|
-
version = "0.8.
|
|
43
|
+
version = "0.8.3"
|
|
44
44
|
edition = "2021"
|
|
45
45
|
license = "Apache-2.0 OR MIT"
|
|
46
46
|
authors = ["aofusa"]
|
|
@@ -677,7 +677,7 @@ regex = { version = "1", optional = true }
|
|
|
677
677
|
serde_urlencoded = { version = "0.7", optional = true }
|
|
678
678
|
# マクロで定義したルート・L4 ハンドラの静的登録(リンク時に収集)
|
|
679
679
|
inventory = { version = "0.3", optional = true }
|
|
680
|
-
veil-macros = { package = "veil-proxy-macros", path = "crates/veil-macros", version = "0.8.
|
|
680
|
+
veil-macros = { package = "veil-proxy-macros", path = "crates/veil-macros", version = "0.8.3", optional = true }
|
|
681
681
|
tower-service = { version = "0.3", optional = true }
|
|
682
682
|
tower-layer = { version = "0.3", optional = true }
|
|
683
683
|
http = { version = "1.4", optional = true }
|
|
@@ -715,7 +715,7 @@ ring = "0.17"
|
|
|
715
715
|
rcgen = { version = "0.14.6", optional = true, default-features = false, features = ["crypto", "pem", "ring"] }
|
|
716
716
|
# OpenBSD/NetBSD の quiche(http3) は vendored BoringSSL(`boringssl-boring-crate` feature、
|
|
717
717
|
# 外部 `boring` crate 経由)を無条件で使う(FreeBSD/macOS/Windows と同じ構成、F-136)。
|
|
718
|
-
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.
|
|
718
|
+
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
|
|
719
719
|
# quiche 0.24.9 が依存する boring のバージョンと必ず一致させること(異なると
|
|
720
720
|
# `SslContextBuilder` の型が別物になりコンパイルエラーになる)。FreeBSD/macOS/Windows と
|
|
721
721
|
# 同じ理由で optional にしない。
|
|
@@ -933,7 +933,10 @@ required-features = ["wasm"]
|
|
|
933
933
|
# **Linux は無変更**(AGENTS.md「Linux 経路は不変」): `boring` crate を Linux の依存に
|
|
934
934
|
# 入れてはならない(重複シンボルでリンクが壊れる)。
|
|
935
935
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
936
|
-
|
|
936
|
+
# F-243: quiche の BoringSSL の FFI を aws-lc-sys の Rust のバインディング経由で呼ぶ(`aws-lc-sys` feature、
|
|
937
|
+
# third_party/quiche/src/veil_ffi.rs)。aws-lc-sys の接頭辞の有無(AWS_LC_SYS_NO_PREFIX)を問わずリンクできるので、
|
|
938
|
+
# veil を依存にする利用者は .cargo/config.toml に何も書かなくてよい。
|
|
939
|
+
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["aws-lc-sys"], optional = true }
|
|
937
940
|
# F-238: rustls(aws-lc-rs)が引く aws-lc-sys と必ず同じ 1 つの版にする(2 つになると、プレフィックス無しの
|
|
938
941
|
# シンボルが衝突し、ビルドが libcrypto を見つけられずに失敗する)。crates.io から入れた利用者の解決では
|
|
939
942
|
# aws-lc-rs の最新が新しい aws-lc-sys を要求するので、範囲で受けて同じ版に寄せる。
|
|
@@ -944,7 +947,7 @@ aws-lc-sys = { version = ">=0.45, <0.48", features = ["ssl", "bindgen"] }
|
|
|
944
947
|
# `boringssl-boring-crate` feature 経由でしか提供されないため、常時これを使う
|
|
945
948
|
# (macOS/Windows と同じ構成)。
|
|
946
949
|
[target.'cfg(target_os = "freebsd")'.dependencies]
|
|
947
|
-
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.
|
|
950
|
+
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
|
|
948
951
|
# quiche 0.24.9 が依存する boring のバージョンと必ず一致させること(異なると
|
|
949
952
|
# `SslContextBuilder` の型が別物になりコンパイルエラーになる)。FreeBSD は常に
|
|
950
953
|
# BoringSSL 固定のため optional にしない(http3 feature 無効時の追加コストは
|
|
@@ -953,7 +956,7 @@ boring = "4.3"
|
|
|
953
956
|
|
|
954
957
|
# macOS/Windows: 従来どおり vendored BoringSSL(boring crate)を無条件で使う(不変)。
|
|
955
958
|
[target.'cfg(any(target_os = "macos", windows))'.dependencies]
|
|
956
|
-
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.
|
|
959
|
+
quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
|
|
957
960
|
# `src/http3_server.rs` が `boring::ssl::SslContextBuilder` 等を直接使うための直接依存
|
|
958
961
|
# (quiche 内部の boring 依存とは別に、自クレートのコードから使うには直接宣言が要る)。
|
|
959
962
|
# Cargo の feature はターゲット非依存(`http3 = ["dep:quiche"]` に `dep:boring` を
|
|
@@ -983,7 +986,7 @@ tonic = { version = "0.14.2", features = ["tls-ring", "channel"] }
|
|
|
983
986
|
# ビルド時のみ複数フレームを詰める)。小さい応答を多数多重化する HTTP/3 ではリクエストごとに
|
|
984
987
|
# 1 パケット(sendto + AEAD + ヘッダ保護)を払うことになり、FreeBSD aarch64 の 3B 静的配信で
|
|
985
988
|
# 送信 syscall が 1.01/req(nginx 0.22/req)だった。常に詰めるよう 1 箇所だけ差し替えた
|
|
986
|
-
# vendoring 版を `veil-proxy-quiche`(版 0.24.9-veil.
|
|
989
|
+
# vendoring 版を `veil-proxy-quiche`(版 0.24.9-veil.2)として各ターゲットの依存に直接書く(上の
|
|
987
990
|
# target 別の quiche。依存のキーは `quiche` のままなのでコードは `quiche::` のまま)。以前は
|
|
988
991
|
# `[patch.crates-io]` で差し替えていたが、patch は crates.io から入れた利用者のビルドには効かない(F-238)。
|
|
989
992
|
# 詳細は third_party/quiche/README.veil.md。
|
veil_api-0.8.3/PKG-INFO
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: veil-api
|
|
3
|
+
Version: 0.8.3
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: 3
|
|
6
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
7
|
+
Classifier: Operating System :: MacOS
|
|
8
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Requires-Dist: grpcio ; extra == 'grpc'
|
|
12
|
+
Requires-Dist: pydantic>=2 ; extra == 'pydantic'
|
|
13
|
+
Provides-Extra: grpc
|
|
14
|
+
Provides-Extra: pydantic
|
|
15
|
+
Summary: veil API server library: FastAPI-like Python bindings (io_uring / HTTP/1.1, 2, 3)
|
|
16
|
+
Author: aofusa
|
|
17
|
+
License: Apache-2.0 OR MIT
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
20
|
+
Project-URL: Changelog, https://github.com/aofusa/veil-proxy/releases
|
|
21
|
+
Project-URL: Documentation, https://veil-api.readthedocs.io
|
|
22
|
+
Project-URL: Source, https://github.com/aofusa/veil-proxy
|
|
23
|
+
|
|
24
|
+
# veil-api
|
|
25
|
+
|
|
26
|
+
FastAPI-like Python bindings for the [veil](https://github.com/aofusa/veil-proxy) API server.
|
|
27
|
+
|
|
28
|
+
Accepting connections, TLS, HTTP/1.1, HTTP/2, HTTP/3, gRPC and OpenAPI serving are handled
|
|
29
|
+
by the Rust data plane (io_uring on Linux), so Python only contains your handler functions, written with
|
|
30
|
+
FastAPI-style decorators. The package is installed as `veil-api` and imported as `veil`.
|
|
31
|
+
|
|
32
|
+
## Install
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
pip install veil-api
|
|
36
|
+
pip install "veil-api[grpc]" # adds grpcio, for veil.grpc.Server (generated grpc_tools.protoc code)
|
|
37
|
+
pip install pydantic # optional: body validation and schema generation with models
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Pre-built wheels are published for:
|
|
41
|
+
|
|
42
|
+
- Linux: manylinux and musllinux, x86_64 and aarch64
|
|
43
|
+
- macOS: arm64 and x86_64
|
|
44
|
+
- Windows: x86_64
|
|
45
|
+
|
|
46
|
+
All wheels are abi3, so one wheel works on every Python 3.9 or newer.
|
|
47
|
+
Linux uses io_uring; the other platforms use the platform's native readiness API (kqueue, WSAPoll).
|
|
48
|
+
|
|
49
|
+
## Quick start
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
import veil
|
|
53
|
+
|
|
54
|
+
@veil.get("/ping", offload=False)
|
|
55
|
+
def ping():
|
|
56
|
+
return "pong"
|
|
57
|
+
|
|
58
|
+
@veil.get("/hello/{name}")
|
|
59
|
+
def hello(name: str, greeting: str = "Hello"): # name: path parameter, greeting: query parameter
|
|
60
|
+
return {"message": f"{greeting}, {name}"}
|
|
61
|
+
|
|
62
|
+
@veil.post("/users", status_code=201,
|
|
63
|
+
body_constraints={"name": {"type": "string", "minLength": 1, "maxLength": 50, "required": True},
|
|
64
|
+
"age": {"type": "integer", "minimum": 0, "maximum": 120, "required": True}})
|
|
65
|
+
def create_user(body: dict):
|
|
66
|
+
return body
|
|
67
|
+
|
|
68
|
+
veil.run(listen_cleartext="127.0.0.1:8000") # stops gracefully on Ctrl-C / SIGTERM
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
You can also create an application object, as in FastAPI:
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
app = veil.App(title="Demo", version="1.0")
|
|
75
|
+
|
|
76
|
+
@app.get("/")
|
|
77
|
+
def index():
|
|
78
|
+
return {"ok": True}
|
|
79
|
+
|
|
80
|
+
app.run(listen_cleartext="127.0.0.1:8000")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The server also serves `/openapi.json` and Swagger UI at `/docs` (disable with `run(openapi=False)`).
|
|
84
|
+
|
|
85
|
+
## Handlers at a glance
|
|
86
|
+
|
|
87
|
+
- **Arguments** are bound from the signature: a parameter named `req`/`request` (or annotated `veil.Request`)
|
|
88
|
+
receives the request; a name that appears in the path is a path parameter (converted by its `int`/`float`/`bool`/`str`
|
|
89
|
+
annotation); a pydantic `BaseModel`, `dict`/`list` annotation or the name `body` receives the JSON body;
|
|
90
|
+
anything else is a query parameter. Missing or invalid values produce a FastAPI-style 422 response.
|
|
91
|
+
- **Return values**: `dict`/`list`/numbers become JSON, `str` is `text/plain`, `bytes` is
|
|
92
|
+
`application/octet-stream`, `None` is 204; `veil.Response`, `veil.JSONResponse`, `(body, status)` and pydantic
|
|
93
|
+
models are also accepted. `raise veil.HTTPException(404, "not found")` produces `{"detail": "not found"}`.
|
|
94
|
+
An unhandled exception is printed to stderr and answered with 500.
|
|
95
|
+
- **Streaming**: generators (sync or async), `veil.StreamingResponse`, `veil.EventSourceResponse` (Server-Sent
|
|
96
|
+
Events) and `@veil.post(..., stream_body=True)` for streamed request bodies.
|
|
97
|
+
- **gRPC**: `veil.grpc.unary_unary` and friends (no dependencies), or `veil.grpc.Server` with grpcio-generated code.
|
|
98
|
+
- **WebSocket**: Python handlers cannot terminate WebSocket connections; use Server-Sent Events or streaming
|
|
99
|
+
responses for server push.
|
|
100
|
+
- **L4**: `@veil.l4_tcp` and `@veil.l4_udp` for raw TCP and UDP listeners.
|
|
101
|
+
- **Configuration**: `veil.run(config_path=None, *, listen_cleartext=None, listen=None, tls_cert=None, tls_key=None,
|
|
102
|
+
threads=None, overrides=None, openapi=True)`. `overrides` maps config keys to Python values, for example
|
|
103
|
+
`{"server.threads": 4}`. Use `listen` with `tls_cert` and `tls_key` for TLS (HTTP/2 and HTTP/3).
|
|
104
|
+
- **Access log**: one line per request is written to standard output by default (`[access_log] enabled = true`,
|
|
105
|
+
`format = "text"`). Turn it off with `overrides={"access_log.enabled": False}`.
|
|
106
|
+
|
|
107
|
+
## Threads and the GIL
|
|
108
|
+
|
|
109
|
+
Python handlers run while holding the GIL.
|
|
110
|
+
|
|
111
|
+
- By default (`offload=True`) a handler runs on veil's handler thread pool (`[api] handler_threads`), so the
|
|
112
|
+
I/O worker threads never wait for the GIL and keep serving connections. `async def` handlers run on one event
|
|
113
|
+
loop per pool thread.
|
|
114
|
+
- With `offload=False` the handler runs directly on the I/O worker thread. Use it only for trivially cheap
|
|
115
|
+
handlers: blocking I/O or long GIL holds stall every connection that worker owns.
|
|
116
|
+
- Pure Python handlers are limited by the GIL; for CPU-bound work consider a multi-process deployment.
|
|
117
|
+
- Streaming responses are iterated on a handler pool thread. On an `offload=False` route the whole body is built
|
|
118
|
+
before it is sent.
|
|
119
|
+
|
|
120
|
+
## Documentation
|
|
121
|
+
|
|
122
|
+
Full documentation (quick start, routing, requests and responses, dependency injection, long-lived connections, gRPC,
|
|
123
|
+
configuration and the API reference) is on Read the Docs: <https://veil-api.readthedocs.io>.
|
|
124
|
+
|
|
125
|
+
Source code, examples and issue tracker: <https://github.com/aofusa/veil-proxy>.
|
|
126
|
+
|
|
127
|
+
## License
|
|
128
|
+
|
|
129
|
+
Apache-2.0 OR MIT
|
|
130
|
+
|
|
@@ -35,18 +35,10 @@ async fn main() -> Result<(), veil::api::Error> {
|
|
|
35
35
|
}
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Build requirements
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```toml
|
|
44
|
-
[env]
|
|
45
|
-
AWS_LC_SYS_NO_PREFIX_x86_64_unknown_linux_gnu = { value = "1", force = true }
|
|
46
|
-
# AWS_LC_SYS_NO_PREFIX_aarch64_unknown_linux_gnu = { value = "1", force = true }
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Builds without the `http3` feature, and other operating systems, do not need it.
|
|
40
|
+
The `Cargo.toml` entry is all you need; there is nothing to add to `.cargo/config.toml`, also for HTTP/3 on Linux.
|
|
41
|
+
quiche and rustls share one `aws-lc-sys`, whose build needs a C compiler, CMake and libclang (bindgen).
|
|
50
42
|
|
|
51
43
|
## Documentation
|
|
52
44
|
|
veil_api-0.8.3/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# veil-api
|
|
2
|
+
|
|
3
|
+
FastAPI-like Python bindings for the [veil](https://github.com/aofusa/veil-proxy) API server.
|
|
4
|
+
|
|
5
|
+
Accepting connections, TLS, HTTP/1.1, HTTP/2, HTTP/3, gRPC and OpenAPI serving are handled
|
|
6
|
+
by the Rust data plane (io_uring on Linux), so Python only contains your handler functions, written with
|
|
7
|
+
FastAPI-style decorators. The package is installed as `veil-api` and imported as `veil`.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pip install veil-api
|
|
13
|
+
pip install "veil-api[grpc]" # adds grpcio, for veil.grpc.Server (generated grpc_tools.protoc code)
|
|
14
|
+
pip install pydantic # optional: body validation and schema generation with models
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Pre-built wheels are published for:
|
|
18
|
+
|
|
19
|
+
- Linux: manylinux and musllinux, x86_64 and aarch64
|
|
20
|
+
- macOS: arm64 and x86_64
|
|
21
|
+
- Windows: x86_64
|
|
22
|
+
|
|
23
|
+
All wheels are abi3, so one wheel works on every Python 3.9 or newer.
|
|
24
|
+
Linux uses io_uring; the other platforms use the platform's native readiness API (kqueue, WSAPoll).
|
|
25
|
+
|
|
26
|
+
## Quick start
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
import veil
|
|
30
|
+
|
|
31
|
+
@veil.get("/ping", offload=False)
|
|
32
|
+
def ping():
|
|
33
|
+
return "pong"
|
|
34
|
+
|
|
35
|
+
@veil.get("/hello/{name}")
|
|
36
|
+
def hello(name: str, greeting: str = "Hello"): # name: path parameter, greeting: query parameter
|
|
37
|
+
return {"message": f"{greeting}, {name}"}
|
|
38
|
+
|
|
39
|
+
@veil.post("/users", status_code=201,
|
|
40
|
+
body_constraints={"name": {"type": "string", "minLength": 1, "maxLength": 50, "required": True},
|
|
41
|
+
"age": {"type": "integer", "minimum": 0, "maximum": 120, "required": True}})
|
|
42
|
+
def create_user(body: dict):
|
|
43
|
+
return body
|
|
44
|
+
|
|
45
|
+
veil.run(listen_cleartext="127.0.0.1:8000") # stops gracefully on Ctrl-C / SIGTERM
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
You can also create an application object, as in FastAPI:
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
app = veil.App(title="Demo", version="1.0")
|
|
52
|
+
|
|
53
|
+
@app.get("/")
|
|
54
|
+
def index():
|
|
55
|
+
return {"ok": True}
|
|
56
|
+
|
|
57
|
+
app.run(listen_cleartext="127.0.0.1:8000")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The server also serves `/openapi.json` and Swagger UI at `/docs` (disable with `run(openapi=False)`).
|
|
61
|
+
|
|
62
|
+
## Handlers at a glance
|
|
63
|
+
|
|
64
|
+
- **Arguments** are bound from the signature: a parameter named `req`/`request` (or annotated `veil.Request`)
|
|
65
|
+
receives the request; a name that appears in the path is a path parameter (converted by its `int`/`float`/`bool`/`str`
|
|
66
|
+
annotation); a pydantic `BaseModel`, `dict`/`list` annotation or the name `body` receives the JSON body;
|
|
67
|
+
anything else is a query parameter. Missing or invalid values produce a FastAPI-style 422 response.
|
|
68
|
+
- **Return values**: `dict`/`list`/numbers become JSON, `str` is `text/plain`, `bytes` is
|
|
69
|
+
`application/octet-stream`, `None` is 204; `veil.Response`, `veil.JSONResponse`, `(body, status)` and pydantic
|
|
70
|
+
models are also accepted. `raise veil.HTTPException(404, "not found")` produces `{"detail": "not found"}`.
|
|
71
|
+
An unhandled exception is printed to stderr and answered with 500.
|
|
72
|
+
- **Streaming**: generators (sync or async), `veil.StreamingResponse`, `veil.EventSourceResponse` (Server-Sent
|
|
73
|
+
Events) and `@veil.post(..., stream_body=True)` for streamed request bodies.
|
|
74
|
+
- **gRPC**: `veil.grpc.unary_unary` and friends (no dependencies), or `veil.grpc.Server` with grpcio-generated code.
|
|
75
|
+
- **WebSocket**: Python handlers cannot terminate WebSocket connections; use Server-Sent Events or streaming
|
|
76
|
+
responses for server push.
|
|
77
|
+
- **L4**: `@veil.l4_tcp` and `@veil.l4_udp` for raw TCP and UDP listeners.
|
|
78
|
+
- **Configuration**: `veil.run(config_path=None, *, listen_cleartext=None, listen=None, tls_cert=None, tls_key=None,
|
|
79
|
+
threads=None, overrides=None, openapi=True)`. `overrides` maps config keys to Python values, for example
|
|
80
|
+
`{"server.threads": 4}`. Use `listen` with `tls_cert` and `tls_key` for TLS (HTTP/2 and HTTP/3).
|
|
81
|
+
- **Access log**: one line per request is written to standard output by default (`[access_log] enabled = true`,
|
|
82
|
+
`format = "text"`). Turn it off with `overrides={"access_log.enabled": False}`.
|
|
83
|
+
|
|
84
|
+
## Threads and the GIL
|
|
85
|
+
|
|
86
|
+
Python handlers run while holding the GIL.
|
|
87
|
+
|
|
88
|
+
- By default (`offload=True`) a handler runs on veil's handler thread pool (`[api] handler_threads`), so the
|
|
89
|
+
I/O worker threads never wait for the GIL and keep serving connections. `async def` handlers run on one event
|
|
90
|
+
loop per pool thread.
|
|
91
|
+
- With `offload=False` the handler runs directly on the I/O worker thread. Use it only for trivially cheap
|
|
92
|
+
handlers: blocking I/O or long GIL holds stall every connection that worker owns.
|
|
93
|
+
- Pure Python handlers are limited by the GIL; for CPU-bound work consider a multi-process deployment.
|
|
94
|
+
- Streaming responses are iterated on a handler pool thread. On an `offload=False` route the whole body is built
|
|
95
|
+
before it is sent.
|
|
96
|
+
|
|
97
|
+
## Documentation
|
|
98
|
+
|
|
99
|
+
Full documentation (quick start, routing, requests and responses, dependency injection, long-lived connections, gRPC,
|
|
100
|
+
configuration and the API reference) is on Read the Docs: <https://veil-api.readthedocs.io>.
|
|
101
|
+
|
|
102
|
+
Source code, examples and issue tracker: <https://github.com/aofusa/veil-proxy>.
|
|
103
|
+
|
|
104
|
+
## License
|
|
105
|
+
|
|
106
|
+
Apache-2.0 OR MIT
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
//! `std::env::set_var` してもこれらへは一切伝播しない(B-47)。
|
|
8
8
|
//! ターゲット別の値と理由は `.cargo/config.toml` のコメントを参照。
|
|
9
9
|
//!
|
|
10
|
-
//! F-
|
|
11
|
-
//!
|
|
12
|
-
//!
|
|
13
|
-
//!
|
|
10
|
+
//! F-243: Linux の quiche は aws-lc-sys の Rust のバインディング経由で BoringSSL の API を呼ぶ
|
|
11
|
+
//! (`third_party/quiche/src/veil_ffi.rs`)ので、接頭辞の有無を問わずリンクできる。veil を依存として使う側は
|
|
12
|
+
//! `[env]` を書かなくてよい(以前はここで値を確かめて止めていた。F-238)。veil のリポジトリの `[env]` は、
|
|
13
|
+
//! 配布物のシンボル名を揃えるためだけに残している。
|
|
14
14
|
//!
|
|
15
15
|
//! F-120: クロスプラットフォーム対応(Phase 1)向けに、target_os / feature の
|
|
16
16
|
//! 組み合わせから `veil_rt_uring` / `veil_rt_reactor` / `veil_poller_epoll` /
|
|
@@ -28,44 +28,6 @@ fn main() {
|
|
|
28
28
|
emit_runtime_backend_cfg();
|
|
29
29
|
emit_wasm_nosignals_cfg();
|
|
30
30
|
emit_allocator_cfg();
|
|
31
|
-
check_aws_lc_no_prefix();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/// F-238: Linux の `http3` は、quiche が rustls と同じ aws-lc-sys を BoringSSL 互換の非プレフィックスの
|
|
35
|
-
/// シンボルで使う(B-47)。そのため aws-lc-sys のビルドに `AWS_LC_SYS_NO_PREFIX_<triple>=1` が要る。
|
|
36
|
-
/// 値は aws-lc-sys のビルドスクリプトが読むので、ここでは設定できない(確かめるだけ)。docs.rs は
|
|
37
|
-
/// リンクしない(rustdoc)ので確かめない。
|
|
38
|
-
fn check_aws_lc_no_prefix() {
|
|
39
|
-
let target = std::env::var("TARGET").unwrap_or_default();
|
|
40
|
-
let suffixed = format!("AWS_LC_SYS_NO_PREFIX_{}", target.replace('-', "_"));
|
|
41
|
-
println!("cargo:rerun-if-env-changed={suffixed}");
|
|
42
|
-
println!("cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX");
|
|
43
|
-
println!("cargo:rerun-if-env-changed=DOCS_RS");
|
|
44
|
-
let linux = std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("linux");
|
|
45
|
-
if !linux || !feature_enabled("HTTP3") || std::env::var_os("DOCS_RS").is_some() {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
// aws-lc-sys の parse_to_bool と同じ解釈(先頭が 0/n/off/f なら偽、数字/y/on/t なら真)。
|
|
49
|
-
// 接尾辞付きの変数を優先する(aws-lc-sys と同じ順)。
|
|
50
|
-
let value = std::env::var(&suffixed)
|
|
51
|
-
.or_else(|_| std::env::var("AWS_LC_SYS_NO_PREFIX"))
|
|
52
|
-
.unwrap_or_default();
|
|
53
|
-
let v = value.trim().to_ascii_lowercase();
|
|
54
|
-
let falsy = v.is_empty()
|
|
55
|
-
|| v.starts_with('0')
|
|
56
|
-
|| v.starts_with('n')
|
|
57
|
-
|| v.starts_with("off")
|
|
58
|
-
|| v.starts_with('f');
|
|
59
|
-
if falsy {
|
|
60
|
-
panic!(
|
|
61
|
-
"veil-proxy: the `http3` feature on Linux needs aws-lc-sys built without symbol prefixes.\n\
|
|
62
|
-
Add this to `.cargo/config.toml` of your project (or workspace) and rebuild:\n\n\
|
|
63
|
-
[env]\n\
|
|
64
|
-
{suffixed} = {{ value = \"1\", force = true }}\n\n\
|
|
65
|
-
(quiche shares rustls' aws-lc-sys and needs its BoringSSL-compatible names; see\n\
|
|
66
|
-
https://docs.rs/veil-proxy and docs/guide/library.md. Building without `http3` does not need it.)"
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
31
|
}
|
|
70
32
|
|
|
71
33
|
/// F-183: veil 専用アロケータ(`veil-alloc` feature)を実際に使うかの cfg エイリアス。
|
|
@@ -154,10 +116,11 @@ fn emit_runtime_backend_cfg() {
|
|
|
154
116
|
println!("cargo::rustc-cfg=veil_poller_wsapoll");
|
|
155
117
|
}
|
|
156
118
|
other => {
|
|
119
|
+
// F-120/F-125/F-140: 対応 OS の一覧。
|
|
157
120
|
panic!(
|
|
158
121
|
"veil build.rs: unsupported target_os \"{other}\" — veil currently \
|
|
159
122
|
supports target_os = \"linux\", \"freebsd\", \"openbsd\", \"macos\", \
|
|
160
|
-
\"netbsd\", \"windows\" only
|
|
123
|
+
\"netbsd\", \"windows\" only"
|
|
161
124
|
);
|
|
162
125
|
}
|
|
163
126
|
}
|
|
@@ -35,18 +35,10 @@ async fn main() -> Result<(), veil::api::Error> {
|
|
|
35
35
|
}
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Build requirements
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```toml
|
|
44
|
-
[env]
|
|
45
|
-
AWS_LC_SYS_NO_PREFIX_x86_64_unknown_linux_gnu = { value = "1", force = true }
|
|
46
|
-
# AWS_LC_SYS_NO_PREFIX_aarch64_unknown_linux_gnu = { value = "1", force = true }
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Builds without the `http3` feature, and other operating systems, do not need it.
|
|
40
|
+
The `Cargo.toml` entry is all you need; there is nothing to add to `.cargo/config.toml`, also for HTTP/3 on Linux.
|
|
41
|
+
quiche and rustls share one `aws-lc-sys`, whose build needs a C compiler, CMake and libclang (bindgen).
|
|
50
42
|
|
|
51
43
|
## Documentation
|
|
52
44
|
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// F-188 / F-189 / F-192
|
|
2
|
+
//! Procedural macros for the veil API library.
|
|
3
|
+
//!
|
|
4
|
+
//! Use them through the `veil` crate (`#[veil::route]`, `#[veil::main]`,
|
|
5
|
+
//! `#[derive(veil::Schema)]` and `#[veil::l4_handler]`). The generated code refers to its
|
|
6
|
+
//! dependencies through `::veil::api::__private`, so your crate does not need to add
|
|
7
|
+
//! dependencies such as `inventory` or `serde_json`.
|
|
8
|
+
// F-241: docs.rs にソースの表示を出さない(コメントは日本語のため)。
|
|
9
|
+
#![doc(html_no_source)]
|
|
10
|
+
use proc_macro::TokenStream;
|
|
11
|
+
|
|
12
|
+
mod l4;
|
|
13
|
+
mod main_attr;
|
|
14
|
+
mod route;
|
|
15
|
+
mod schema;
|
|
16
|
+
mod util;
|
|
17
|
+
|
|
18
|
+
/// Declares an HTTP route and registers the function as its handler.
|
|
19
|
+
///
|
|
20
|
+
/// ```ignore
|
|
21
|
+
/// #[veil::route(path = "/users/{id}", method = "GET")]
|
|
22
|
+
/// async fn get_user(id: u64, verbose: Option<bool>) -> Json<User> { ... }
|
|
23
|
+
/// ```
|
|
24
|
+
///
|
|
25
|
+
/// - `path` (required): `{name}` matches one segment, and a trailing `{*name}` matches the rest.
|
|
26
|
+
/// - `method = "GET"` / `methods = ["GET", "POST"]` (all methods if omitted).
|
|
27
|
+
/// - `name` (defaults to the function name), `tags = ["users"]`, `summary`, `description`,
|
|
28
|
+
/// `status = 201`, `offload = true` (synchronous functions are offloaded by default) and
|
|
29
|
+
/// `hidden = true` (leave the route out of OpenAPI).
|
|
30
|
+
///
|
|
31
|
+
/// Arguments are interpreted by type and name, with the same rules as FastAPI: `&Request` /
|
|
32
|
+
/// `Request`, `Json<T>` (body), `Query<T>`, `Form<T>`, `State<T>`, `Headers` and `Bytes`. An
|
|
33
|
+
/// argument named like a `{name}` in the path is a path parameter, and any other simple type is
|
|
34
|
+
/// a query parameter (optional if it is an `Option<T>`). If the inner type of `Json`, `Query`
|
|
35
|
+
/// or `Form` derives `veil::Schema`, it is validated automatically and a failure returns 422.
|
|
36
|
+
#[proc_macro_attribute]
|
|
37
|
+
pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|
38
|
+
route::expand(attr.into(), item.into())
|
|
39
|
+
.unwrap_or_else(|e| e.to_compile_error())
|
|
40
|
+
.into()
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// Registers an L4 (TCP/UDP) handler (`l4-handler` feature).
|
|
44
|
+
///
|
|
45
|
+
/// ```ignore
|
|
46
|
+
/// #[veil::l4_handler(name = "echo", protocol = "tcp")]
|
|
47
|
+
/// async fn echo(conn: &mut L4Connection) -> Result<(), L4Error> { ... }
|
|
48
|
+
///
|
|
49
|
+
/// #[veil::l4_handler(name = "udp_echo", protocol = "udp")]
|
|
50
|
+
/// async fn udp_echo(dgram: L4Datagram) -> Option<bytes::Bytes> { Some(dgram.data) }
|
|
51
|
+
/// ```
|
|
52
|
+
#[proc_macro_attribute]
|
|
53
|
+
pub fn l4_handler(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|
54
|
+
l4::expand(attr.into(), item.into())
|
|
55
|
+
.unwrap_or_else(|e| e.to_compile_error())
|
|
56
|
+
.into()
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/// Lets `async fn main()` start veil (so you can write `veil::serve(config).await`).
|
|
60
|
+
#[proc_macro_attribute]
|
|
61
|
+
pub fn main(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|
62
|
+
main_attr::expand(attr.into(), item.into())
|
|
63
|
+
.unwrap_or_else(|e| e.to_compile_error())
|
|
64
|
+
.into()
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Implements JSON Schema (OpenAPI) generation and automatic validation for a struct or enum.
|
|
68
|
+
///
|
|
69
|
+
/// It accepts `#[validate(range(min = 1, max = 100))]`, `length(min, max, equal)`, `email`,
|
|
70
|
+
/// `url`, `nested` and `custom = "path::to::fn"` (`fn(&T) -> Result<(), impl Display>`), and
|
|
71
|
+
/// `#[schema(description, example, format, pattern)]`. Doc comments and the serde attributes
|
|
72
|
+
/// `rename`, `rename_all`, `default` and `skip` are respected.
|
|
73
|
+
#[proc_macro_derive(Schema, attributes(validate, schema))]
|
|
74
|
+
pub fn derive_schema(item: TokenStream) -> TokenStream {
|
|
75
|
+
schema::expand(item.into())
|
|
76
|
+
.unwrap_or_else(|e| e.to_compile_error())
|
|
77
|
+
.into()
|
|
78
|
+
}
|
|
@@ -87,14 +87,14 @@ fn parse_args(attr: TokenStream) -> syn::Result<RouteArgs> {
|
|
|
87
87
|
Ok(a)
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
///
|
|
90
|
+
/// How one argument is handled.
|
|
91
91
|
enum ArgKind {
|
|
92
92
|
RequestRef,
|
|
93
93
|
RequestOwned,
|
|
94
94
|
Json(Type),
|
|
95
95
|
Query(Type),
|
|
96
96
|
Form(Type),
|
|
97
|
-
/// `FromRequest`
|
|
97
|
+
/// Extracted with `FromRequest` (State, Headers, Bytes and so on).
|
|
98
98
|
FromRequest(Type),
|
|
99
99
|
PathParam(String, Type),
|
|
100
100
|
QueryParam {
|
|
@@ -144,7 +144,7 @@ fn classify(name: Option<&str>, ty: &Type, path_params: &[String]) -> ArgKind {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
///
|
|
147
|
+
/// Infers the OpenAPI response schema from the return type (`Json<T>`, `Result<Json<T>, _>`, `(u16, Json<T>)` or a string).
|
|
148
148
|
fn response_content(ret: &ReturnType) -> TokenStream {
|
|
149
149
|
let ty = match ret {
|
|
150
150
|
ReturnType::Default => return quote!(None),
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
//! `#[derive(veil::Schema)]`: JSON Schema
|
|
1
|
+
//! `#[derive(veil::Schema)]`: JSON Schema (`ApiSchema`) and automatic validation (`Validate`).
|
|
2
2
|
|
|
3
3
|
use crate::util::{doc_text, lit_str, option_inner};
|
|
4
4
|
use proc_macro2::TokenStream;
|
|
5
5
|
use quote::quote;
|
|
6
6
|
use syn::{spanned::Spanned, Attribute, Data, DeriveInput, Error, Expr, Fields, Lit, LitStr, Type};
|
|
7
7
|
|
|
8
|
-
///
|
|
8
|
+
/// The serde attributes of a field (or container) that affect the schema.
|
|
9
9
|
#[derive(Default)]
|
|
10
10
|
struct SerdeAttrs {
|
|
11
11
|
rename: Option<String>,
|
|
@@ -73,7 +73,7 @@ fn serde_attrs(attrs: &[Attribute]) -> SerdeAttrs {
|
|
|
73
73
|
out
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
/// serde
|
|
76
|
+
/// Applies serde's `rename_all`.
|
|
77
77
|
fn rename(name: &str, rule: Option<&str>) -> String {
|
|
78
78
|
let words: Vec<String> = split_words(name);
|
|
79
79
|
match rule {
|
|
@@ -108,7 +108,7 @@ fn capitalize(w: &str) -> String {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
/// `snake_case
|
|
111
|
+
/// Splits both `snake_case` and `PascalCase` into words.
|
|
112
112
|
fn split_words(name: &str) -> Vec<String> {
|
|
113
113
|
let mut words = Vec::new();
|
|
114
114
|
for part in name.split('_').filter(|p| !p.is_empty()) {
|
|
@@ -131,7 +131,7 @@ fn split_words(name: &str) -> Vec<String> {
|
|
|
131
131
|
words
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
/// `#[validate(...)]`
|
|
134
|
+
/// The contents of `#[validate(...)]` and `#[schema(...)]`.
|
|
135
135
|
#[derive(Default)]
|
|
136
136
|
struct Rules {
|
|
137
137
|
min: Option<f64>,
|
|
@@ -308,7 +308,7 @@ fn opt_usize(v: Option<u64>) -> TokenStream {
|
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
///
|
|
311
|
+
/// The constraints (JSON Schema keywords) attached to a field's schema.
|
|
312
312
|
fn constraint_inserts(r: &Rules, desc: &Option<String>) -> TokenStream {
|
|
313
313
|
let mut ins = Vec::new();
|
|
314
314
|
let put = |k: &str, v: TokenStream| quote!(__c.insert(#k.into(), ::veil::api::__private::serde_json::json!(#v)););
|