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.

Files changed (221) hide show
  1. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/PKG-INFO +1 -1
  2. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/message_processing.rs +22 -16
  3. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/tests/data_path_test.rs +65 -0
  4. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/service.rs +77 -3
  5. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/pyproject.toml +1 -1
  6. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/uv.lock +1 -1
  7. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/Cargo.lock +0 -0
  8. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/Cargo.toml +0 -0
  9. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/README.md +0 -0
  10. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/CHANGELOG.md +0 -0
  11. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/Cargo.toml +0 -0
  12. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/README.md +0 -0
  13. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/auth_provider.rs +0 -0
  14. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/builder.rs +0 -0
  15. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/errors.rs +0 -0
  16. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/file_watcher.rs +0 -0
  17. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/jwt.rs +0 -0
  18. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/jwt_middleware.rs +0 -0
  19. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/lib.rs +0 -0
  20. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/oidc.rs +0 -0
  21. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/resolver.rs +0 -0
  22. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/shared_secret.rs +0 -0
  23. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/testutils.rs +0 -0
  24. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/auth/src/traits.rs +0 -0
  25. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/CHANGELOG.md +0 -0
  26. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/Cargo.toml +0 -0
  27. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/README.md +0 -0
  28. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/build.rs +0 -0
  29. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/proto/hello.proto +0 -0
  30. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/basic.rs +0 -0
  31. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/jwt.rs +0 -0
  32. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/oidc.rs +0 -0
  33. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth/static_jwt.rs +0 -0
  34. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/auth.rs +0 -0
  35. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component/configuration.rs +0 -0
  36. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component/id.rs +0 -0
  37. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/component.rs +0 -0
  38. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/client.rs +0 -0
  39. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/compression.rs +0 -0
  40. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/errors.rs +0 -0
  41. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/headers_middleware.rs +0 -0
  42. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/helloworld.rs +0 -0
  43. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/proxy.rs +0 -0
  44. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/schema/client-config.schema.json +0 -0
  45. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/schema/generate_schema.rs +0 -0
  46. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc/server.rs +0 -0
  47. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/grpc.rs +0 -0
  48. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/lib.rs +0 -0
  49. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/metadata.rs +0 -0
  50. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/opaque.rs +0 -0
  51. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/env.rs +0 -0
  52. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/file.rs +0 -0
  53. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider/lib.rs +0 -0
  54. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/provider.rs +0 -0
  55. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils/helloworld.rs +0 -0
  56. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils/tower_service.rs +0 -0
  57. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/testutils.rs +0 -0
  58. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/client.rs +0 -0
  59. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/common.rs +0 -0
  60. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/provider.rs +0 -0
  61. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls/server.rs +0 -0
  62. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/src/tls.rs +0 -0
  63. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/ca.crt +0 -0
  64. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/server.crt +0 -0
  65. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/grpc/server.key +0 -0
  66. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256-public.pem +0 -0
  67. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256-wrong.pem +0 -0
  68. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec256.pem +0 -0
  69. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384-public.pem +0 -0
  70. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384-wrong.pem +0 -0
  71. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/ec384.pem +0 -0
  72. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa-public.pem +0 -0
  73. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa-wrong.pem +0 -0
  74. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/eddsa.pem +0 -0
  75. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa-public.pem +0 -0
  76. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa-wrong.pem +0 -0
  77. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/jwt/rsa.pem +0 -0
  78. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/testfile +0 -0
  79. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-1.crt +0 -0
  80. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-2.crt +0 -0
  81. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/ca-bad.crt +0 -0
  82. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-1.crt +0 -0
  83. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-1.key +0 -0
  84. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-2.crt +0 -0
  85. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/client-2.key +0 -0
  86. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-1.crt +0 -0
  87. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-1.key +0 -0
  88. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-2.crt +0 -0
  89. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/testdata/tls/server-2.key +0 -0
  90. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/tests/e2e.rs +0 -0
  91. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/config/tests/tls.rs +0 -0
  92. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/CHANGELOG.md +0 -0
  93. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/Cargo.toml +0 -0
  94. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/README.md +0 -0
  95. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/build.rs +0 -0
  96. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/proto/v1/controller.proto +0 -0
  97. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api/gen/controller.proto.v1.rs +0 -0
  98. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api/proto.rs +0 -0
  99. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/api.rs +0 -0
  100. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/config.rs +0 -0
  101. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/errors.rs +0 -0
  102. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/lib.rs +0 -0
  103. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/controller/src/service.rs +0 -0
  104. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/CHANGELOG.md +0 -0
  105. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/Cargo.toml +0 -0
  106. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/README.md +0 -0
  107. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/benches/pool_benchmark.rs +0 -0
  108. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/build.rs +0 -0
  109. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/proto/v1/data-plane.proto +0 -0
  110. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api/gen/dataplane.proto.v1.rs +0 -0
  111. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api/proto.rs +0 -0
  112. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/api.rs +0 -0
  113. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/connection.rs +0 -0
  114. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/errors.rs +0 -0
  115. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/forwarder.rs +0 -0
  116. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/lib.rs +0 -0
  117. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages/encoder.rs +0 -0
  118. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages/utils.rs +0 -0
  119. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/messages.rs +0 -0
  120. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/connection_table.rs +0 -0
  121. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/errors.rs +0 -0
  122. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/pool.rs +0 -0
  123. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/remote_subscription_table.rs +0 -0
  124. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables/subscription_table.rs +0 -0
  125. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/datapath/src/tables.rs +0 -0
  126. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/CHANGELOG.md +0 -0
  127. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/Cargo.toml +0 -0
  128. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/README.md +0 -0
  129. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/errors.rs +0 -0
  130. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/identity_provider.rs +0 -0
  131. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/lib.rs +0 -0
  132. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/mls/src/mls.rs +0 -0
  133. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/CHANGELOG.md +0 -0
  134. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/Cargo.toml +0 -0
  135. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/README.md +0 -0
  136. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/app.rs +0 -0
  137. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/errors.rs +0 -0
  138. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/service/src/lib.rs +0 -0
  139. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/Cargo.toml +0 -0
  140. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/channel_endpoint.rs +0 -0
  141. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/common.rs +0 -0
  142. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/config.rs +0 -0
  143. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/context.rs +0 -0
  144. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/errors.rs +0 -0
  145. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/handle.rs +0 -0
  146. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/interceptor.rs +0 -0
  147. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/interceptor_mls.rs +0 -0
  148. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/lib.rs +0 -0
  149. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/moderator_task.rs +0 -0
  150. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/multicast.rs +0 -0
  151. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/notification.rs +0 -0
  152. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/point_to_point.rs +0 -0
  153. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/producer_buffer.rs +0 -0
  154. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/receiver_buffer.rs +0 -0
  155. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/session_layer.rs +0 -0
  156. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/timer.rs +0 -0
  157. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/traits.rs +0 -0
  158. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/session/src/transmitter.rs +0 -0
  159. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/CHANGELOG.md +0 -0
  160. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/Cargo.toml +0 -0
  161. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/README.md +0 -0
  162. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/signal/src/lib.rs +0 -0
  163. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/CHANGELOG.md +0 -0
  164. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/Cargo.toml +0 -0
  165. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/README.md +0 -0
  166. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/src/lib.rs +0 -0
  167. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/core/tracing/src/utils.rs +0 -0
  168. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/BUILD.md +0 -0
  169. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/CHANGELOG.md +0 -0
  170. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/Cargo.toml +0 -0
  171. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/README.md +0 -0
  172. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/SESSION.md +0 -0
  173. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/Taskfile.yaml +0 -0
  174. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/build.rs +0 -0
  175. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/CHANGELOG.md +0 -0
  176. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/Dockerfile +0 -0
  177. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/README.md +0 -0
  178. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/Taskfile.yaml +0 -0
  179. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/pyproject.toml +0 -0
  180. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/README_group.md +0 -0
  181. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/README_point_to_point.md +0 -0
  182. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/__init__.py +0 -0
  183. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/common.py +0 -0
  184. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/group.py +0 -0
  185. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/point_to_point.py +0 -0
  186. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/examples/src/slim_bindings_examples/slim.py +0 -0
  187. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/__init__.py +0 -0
  188. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/_slim_bindings.pyi +0 -0
  189. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/errors.py +0 -0
  190. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/session.py +0 -0
  191. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/slim.py +0 -0
  192. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/slim_bindings/version.py +0 -0
  193. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/bin/stub_gen.rs +0 -0
  194. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/build_info.rs +0 -0
  195. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/lib.rs +0 -0
  196. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pyidentity.rs +0 -0
  197. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pymessage.rs +0 -0
  198. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pyservice.rs +0 -0
  199. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/pysession.rs +0 -0
  200. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/src/utils.rs +0 -0
  201. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/common.py +0 -0
  202. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/conftest.py +0 -0
  203. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_bindings.py +0 -0
  204. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_identity.py +0 -0
  205. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_multicast.py +0 -0
  206. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_point_to_point.py +0 -0
  207. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/test_session_metadata.py +0 -0
  208. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec256-public.pem +0 -0
  209. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec256.pem +0 -0
  210. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec384-public.pem +0 -0
  211. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/ec384.pem +0 -0
  212. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/eddsa-public.pem +0 -0
  213. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/eddsa.pem +0 -0
  214. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/rsa-public.pem +0 -0
  215. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/python/bindings/tests/testdata/rsa.pem +0 -0
  216. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/__init__.py +0 -0
  217. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/_slim_bindings.pyi +0 -0
  218. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/errors.py +0 -0
  219. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/session.py +0 -0
  220. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/slim.py +0 -0
  221. {slim_bindings-0.6.1 → slim_bindings-0.6.2}/slim_bindings/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slim-bindings
3
- Version: 0.6.1
3
+ Version: 0.6.2
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Topic :: Software Development :: Libraries
@@ -262,30 +262,36 @@ impl MessageProcessor {
262
262
  .await
263
263
  }
264
264
 
265
- pub fn disconnect(&self, conn: u64) -> Result<(), DataPathError> {
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
- Some(c) => {
274
- match c.cancellation_token() {
275
- None => {
276
- error!("error handling disconnect: missing cancellation token");
277
- }
278
- Some(t) => {
279
- // here token cancel will stop the receiving loop on
280
- // conn and this will cause the delition of the state
281
- // for this connection
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
- Ok(())
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
- .disconnect(conn)
349
- .map_err(|e| ServiceError::DisconnectError(e.to_string()))
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() {
@@ -10,7 +10,7 @@ build-backend = "maturin"
10
10
 
11
11
  [project]
12
12
  name = "slim-bindings"
13
- version = "0.6.1"
13
+ version = "0.6.2"
14
14
  description = "SLIM Rust bindings for Python"
15
15
  requires-python = ">=3.9, <4.0"
16
16
  readme = "README.md"
@@ -340,7 +340,7 @@ wheels = [
340
340
 
341
341
  [[package]]
342
342
  name = "slim-bindings"
343
- version = "0.6.0"
343
+ version = "0.6.1"
344
344
  source = { editable = "." }
345
345
 
346
346
  [package.dev-dependencies]
File without changes
File without changes
File without changes