slim-bindings 0.6.1__tar.gz → 0.6.2__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.
Potentially problematic release.
This version of slim-bindings might be problematic. Click here for more details.
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/PKG-INFO +1 -1
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/message_processing.rs +22 -16
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/tests/data_path_test.rs +65 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/service.rs +77 -3
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/pyproject.toml +1 -1
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/uv.lock +1 -1
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/Cargo.lock +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/auth_provider.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/builder.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/file_watcher.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/jwt.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/jwt_middleware.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/oidc.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/resolver.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/shared_secret.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/testutils.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/traits.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/build.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/proto/hello.proto +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/basic.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/jwt.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/oidc.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/static_jwt.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component/configuration.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component/id.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/client.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/compression.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/headers_middleware.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/helloworld.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/proxy.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/schema/client-config.schema.json +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/schema/generate_schema.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/server.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/metadata.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/opaque.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/env.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/file.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils/helloworld.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils/tower_service.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/client.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/common.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/provider.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/server.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/ca.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/server.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/server.key +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256-wrong.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384-wrong.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa-wrong.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa-wrong.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/testfile +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-1.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-2.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-bad.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-1.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-1.key +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-2.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-2.key +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-1.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-1.key +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-2.crt +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-2.key +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/tests/e2e.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/tests/tls.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/build.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/proto/v1/controller.proto +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api/gen/controller.proto.v1.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api/proto.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/config.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/service.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/benches/pool_benchmark.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/build.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/proto/v1/data-plane.proto +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api/gen/dataplane.proto.v1.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api/proto.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/connection.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/forwarder.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages/encoder.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages/utils.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/connection_table.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/pool.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/remote_subscription_table.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/subscription_table.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/identity_provider.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/mls.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/app.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/channel_endpoint.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/common.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/config.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/context.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/errors.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/handle.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/interceptor.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/interceptor_mls.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/moderator_task.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/multicast.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/notification.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/point_to_point.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/producer_buffer.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/receiver_buffer.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/session_layer.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/timer.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/traits.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/transmitter.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/src/utils.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/BUILD.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/Cargo.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/SESSION.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/Taskfile.yaml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/build.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/CHANGELOG.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/Dockerfile +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/README.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/Taskfile.yaml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/pyproject.toml +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/README_group.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/README_point_to_point.md +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/__init__.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/common.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/group.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/point_to_point.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/slim.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/__init__.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/_slim_bindings.pyi +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/errors.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/session.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/slim.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/version.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/bin/stub_gen.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/build_info.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/lib.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pyidentity.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pymessage.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pyservice.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pysession.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/utils.rs +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/common.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/conftest.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_bindings.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_identity.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_multicast.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_point_to_point.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_session_metadata.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec256-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec256.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec384-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec384.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/eddsa-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/eddsa.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/rsa-public.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/rsa.pem +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/__init__.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/_slim_bindings.pyi +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/errors.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/session.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/slim.py +0 -0
- {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/version.py +0 -0
|
@@ -262,30 +262,36 @@ impl MessageProcessor {
|
|
|
262
262
|
.await
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
-
pub fn disconnect(&self, conn: u64) -> Result<
|
|
266
|
-
match self.forwarder().get_connection(conn) {
|
|
265
|
+
pub fn disconnect(&self, conn: u64) -> Result<ClientConfig, DataPathError> {
|
|
266
|
+
let connection = match self.forwarder().get_connection(conn) {
|
|
267
|
+
Some(c) => c,
|
|
267
268
|
None => {
|
|
268
269
|
error!("error handling disconnect: connection unknown");
|
|
269
270
|
return Err(DataPathError::DisconnectionError(
|
|
270
271
|
"connection not found".to_string(),
|
|
271
272
|
));
|
|
272
273
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
t.cancel();
|
|
283
|
-
}
|
|
284
|
-
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
let token = match connection.cancellation_token() {
|
|
277
|
+
Some(t) => t,
|
|
278
|
+
None => {
|
|
279
|
+
error!("error handling disconnect: missing cancellation token");
|
|
280
|
+
return Err(DataPathError::DisconnectionError(
|
|
281
|
+
"missing cancellation token".to_string(),
|
|
282
|
+
));
|
|
285
283
|
}
|
|
286
|
-
}
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
// Cancel receiving loop; this triggers deletion of connection state.
|
|
287
|
+
token.cancel();
|
|
287
288
|
|
|
288
|
-
|
|
289
|
+
connection
|
|
290
|
+
.config_data()
|
|
291
|
+
.cloned()
|
|
292
|
+
.ok_or(DataPathError::DisconnectionError(
|
|
293
|
+
"missing client config data".to_string(),
|
|
294
|
+
))
|
|
289
295
|
}
|
|
290
296
|
|
|
291
297
|
pub fn register_local_connection(
|
|
@@ -147,6 +147,71 @@ mod tests {
|
|
|
147
147
|
assert!(logs_contain(expected_msg));
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
#[tokio::test]
|
|
151
|
+
#[traced_test]
|
|
152
|
+
async fn test_disconnection() {
|
|
153
|
+
// setup server from configuration
|
|
154
|
+
let mut server_conf = ServerConfig::with_endpoint("127.0.0.1:50052");
|
|
155
|
+
server_conf.tls_setting.insecure = true;
|
|
156
|
+
|
|
157
|
+
let (processor, _signal) = MessageProcessor::new();
|
|
158
|
+
let svc = Arc::new(processor);
|
|
159
|
+
let msg_processor = svc.clone();
|
|
160
|
+
|
|
161
|
+
let ep_server = server_conf
|
|
162
|
+
.to_server_future(&[DataPlaneServiceServer::from_arc(svc)])
|
|
163
|
+
.unwrap();
|
|
164
|
+
|
|
165
|
+
tokio::spawn(async move {
|
|
166
|
+
if let Err(e) = ep_server.await {
|
|
167
|
+
panic!("Server error: {:?}", e);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
|
|
172
|
+
|
|
173
|
+
// create a client config we will attach to the connection
|
|
174
|
+
let mut client_config = ClientConfig::with_endpoint("http://127.0.0.1:50052");
|
|
175
|
+
client_config.tls_setting.insecure = true;
|
|
176
|
+
let channel = client_config.to_channel().unwrap();
|
|
177
|
+
|
|
178
|
+
// connect with client_config Some(...)
|
|
179
|
+
let (_, conn_index) = msg_processor
|
|
180
|
+
.connect(
|
|
181
|
+
channel,
|
|
182
|
+
Some(client_config.clone()),
|
|
183
|
+
None,
|
|
184
|
+
Some(SocketAddr::from(([127, 0, 0, 1], 50052))),
|
|
185
|
+
)
|
|
186
|
+
.await
|
|
187
|
+
.expect("error creating channel");
|
|
188
|
+
|
|
189
|
+
// ensure connection exists before disconnect
|
|
190
|
+
assert!(
|
|
191
|
+
msg_processor
|
|
192
|
+
.connection_table()
|
|
193
|
+
.get(conn_index as usize)
|
|
194
|
+
.is_some()
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
// disconnect (should cancel stream and eventually remove connection)
|
|
198
|
+
let _returned_cfg = msg_processor
|
|
199
|
+
.disconnect(conn_index)
|
|
200
|
+
.expect("disconnect should return client config");
|
|
201
|
+
|
|
202
|
+
// wait for cancellation to propagate and stream task to drop connection
|
|
203
|
+
tokio::time::sleep(tokio::time::Duration::from_millis(200)).await;
|
|
204
|
+
|
|
205
|
+
// after disconnect the connection should be removed
|
|
206
|
+
assert!(
|
|
207
|
+
msg_processor
|
|
208
|
+
.connection_table()
|
|
209
|
+
.get(conn_index as usize)
|
|
210
|
+
.is_none(),
|
|
211
|
+
"connection should be removed after disconnect"
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
|
|
150
215
|
fn make_message(org: &str, ns: &str, name: &str) -> Message {
|
|
151
216
|
let source = Name::from_strings([org, ns, name]).with_id(0);
|
|
152
217
|
let name = Name::from_strings([org, ns, name]).with_id(1);
|
|
@@ -344,9 +344,27 @@ impl Service {
|
|
|
344
344
|
pub fn disconnect(&self, conn: u64) -> Result<(), ServiceError> {
|
|
345
345
|
info!("disconnect from conn {}", conn);
|
|
346
346
|
|
|
347
|
-
self.message_processor
|
|
348
|
-
|
|
349
|
-
|
|
347
|
+
match self.message_processor.disconnect(conn) {
|
|
348
|
+
Ok(cfg) => {
|
|
349
|
+
let endpoint = cfg.endpoint.clone();
|
|
350
|
+
let mut clients = self.clients.write();
|
|
351
|
+
if let Some(stored_conn) = clients.get(&endpoint) {
|
|
352
|
+
if *stored_conn == conn {
|
|
353
|
+
clients.remove(&endpoint);
|
|
354
|
+
info!("removed client mapping for endpoint {}", endpoint);
|
|
355
|
+
} else {
|
|
356
|
+
debug!(
|
|
357
|
+
"client mapping endpoint {} has different conn_id {} != {}",
|
|
358
|
+
endpoint, stored_conn, conn
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
} else {
|
|
362
|
+
debug!("no client mapping found for endpoint {}", endpoint);
|
|
363
|
+
}
|
|
364
|
+
Ok(())
|
|
365
|
+
}
|
|
366
|
+
Err(e) => Err(ServiceError::DisconnectError(e.to_string())),
|
|
367
|
+
}
|
|
350
368
|
}
|
|
351
369
|
|
|
352
370
|
pub fn get_connection_id(&self, endpoint: &str) -> Option<u64> {
|
|
@@ -469,6 +487,62 @@ mod tests {
|
|
|
469
487
|
assert!(logs_contain("shutting down server"));
|
|
470
488
|
}
|
|
471
489
|
|
|
490
|
+
#[tokio::test]
|
|
491
|
+
#[traced_test]
|
|
492
|
+
async fn test_service_disconnection() {
|
|
493
|
+
// create the service (server + one client we will disconnect)
|
|
494
|
+
let tls_config = TlsServerConfig::new().with_insecure(true);
|
|
495
|
+
let server_config =
|
|
496
|
+
ServerConfig::with_endpoint("0.0.0.0:12346").with_tls_settings(tls_config);
|
|
497
|
+
let config = ServiceConfiguration::new().with_server([server_config].to_vec());
|
|
498
|
+
let mut service = config
|
|
499
|
+
.build_server(ID::new_with_name(Kind::new(KIND).unwrap(), "test-disconnect").unwrap())
|
|
500
|
+
.unwrap();
|
|
501
|
+
|
|
502
|
+
service.run().await.expect("failed to run service");
|
|
503
|
+
|
|
504
|
+
// wait a bit for server loop to start
|
|
505
|
+
tokio::time::sleep(Duration::from_millis(100)).await;
|
|
506
|
+
|
|
507
|
+
// build client configuration and connect
|
|
508
|
+
let mut client_conf =
|
|
509
|
+
slim_config::grpc::client::ClientConfig::with_endpoint("http://0.0.0.0:12346");
|
|
510
|
+
client_conf.tls_setting.insecure = true;
|
|
511
|
+
let conn_id = service
|
|
512
|
+
.connect(&client_conf)
|
|
513
|
+
.await
|
|
514
|
+
.expect("failed to connect client");
|
|
515
|
+
|
|
516
|
+
assert!(service.get_connection_id(&client_conf.endpoint).is_some());
|
|
517
|
+
|
|
518
|
+
// disconnect
|
|
519
|
+
service
|
|
520
|
+
.disconnect(conn_id)
|
|
521
|
+
.expect("disconnect should succeed");
|
|
522
|
+
|
|
523
|
+
// allow cancellation token to propagate and stream to terminate
|
|
524
|
+
tokio::time::sleep(Duration::from_millis(200)).await;
|
|
525
|
+
|
|
526
|
+
// verify connection is removed from internal client mapping
|
|
527
|
+
assert!(
|
|
528
|
+
service.get_connection_id(&client_conf.endpoint).is_none(),
|
|
529
|
+
"client mapping should be removed after disconnect"
|
|
530
|
+
);
|
|
531
|
+
|
|
532
|
+
// verify connection is removed from connection table
|
|
533
|
+
assert!(
|
|
534
|
+
service
|
|
535
|
+
.message_processor
|
|
536
|
+
.connection_table()
|
|
537
|
+
.get(conn_id as usize)
|
|
538
|
+
.is_none(),
|
|
539
|
+
"connection should be removed after disconnect"
|
|
540
|
+
);
|
|
541
|
+
|
|
542
|
+
// verify disconnect log
|
|
543
|
+
assert!(logs_contain("disconnect from conn"));
|
|
544
|
+
}
|
|
545
|
+
|
|
472
546
|
#[tokio::test]
|
|
473
547
|
#[traced_test]
|
|
474
548
|
async fn test_service_publish_subscribe() {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/schema/client-config.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api/gen/controller.proto.v1.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/remote_subscription_table.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/_slim_bindings.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|