valkey-glide 2.0.0rc6__tar.gz → 2.0.0rc7__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 valkey-glide might be problematic. Click here for more details.

Files changed (176) hide show
  1. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/Cargo.lock +18 -18
  2. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/Cargo.toml +2 -2
  3. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/PKG-INFO +1 -1
  4. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/THIRD_PARTY_LICENSES_PYTHON +6 -6
  5. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/Cargo.toml +2 -2
  6. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/THIRD_PARTY_LICENSES_RUST +6 -6
  7. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/benches/connections_benchmark.rs +3 -3
  8. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/benches/memory_benchmark.rs +1 -1
  9. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/benches/rotating_buffer_benchmark.rs +3 -3
  10. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/client/mod.rs +5 -70
  11. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/client/reconnecting_connection.rs +3 -3
  12. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/client/standalone_client.rs +4 -4
  13. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/client/types.rs +5 -1
  14. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/client/value_conversion.rs +76 -93
  15. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/request_type.rs +1 -1
  16. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/rotating_buffer.rs +2 -2
  17. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/socket_listener.rs +84 -86
  18. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/test_client.rs +6 -8
  19. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/test_cluster_client.rs +3 -3
  20. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/test_socket_listener.rs +2 -2
  21. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/utilities/cluster.rs +2 -2
  22. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/utilities/mod.rs +2 -2
  23. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/logger_core/Cargo.toml +1 -1
  24. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/logger_core/src/lib.rs +5 -5
  25. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/logger_core/tests/test_logger.rs +1 -1
  26. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/telemetrylib/Cargo.toml +1 -1
  27. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/batch.py +1 -6
  28. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/core.py +0 -5
  29. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/glide_client.py +1 -1
  30. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_async_client.py +0 -9
  31. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_batch.py +0 -9
  32. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/.cargo/config.toml +0 -0
  33. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/.flake8 +0 -0
  34. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/.gitignore +0 -0
  35. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/.ort.yml +0 -0
  36. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/DEVELOPER.md +0 -0
  37. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/Pipfile +0 -0
  38. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/README.md +0 -0
  39. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/dev.py +0 -0
  40. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/dev_requirements.txt +0 -0
  41. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/docs/Makefile +0 -0
  42. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/docs/conf.py +0 -0
  43. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/docs/index.rst +0 -0
  44. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/docs/make.bat +0 -0
  45. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/.cargo/config.toml +0 -0
  46. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/.ort.yml +0 -0
  47. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/README.md +0 -0
  48. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/build.rs +0 -0
  49. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/cluster_scan_container.rs +0 -0
  50. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/errors.rs +0 -0
  51. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/lib.rs +0 -0
  52. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/protobuf/command_request.proto +0 -0
  53. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/protobuf/connection_request.proto +0 -0
  54. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/protobuf/response.proto +0 -0
  55. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/src/scripts_container.rs +0 -0
  56. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/test_standalone_client.rs +0 -0
  57. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/glide-core/tests/utilities/mocks.rs +1 -1
  58. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/CHANGELOG.md +0 -0
  59. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/Cargo.toml +0 -0
  60. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/LICENSE +0 -0
  61. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/benches/bench_basic.rs +0 -0
  62. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/benches/bench_cluster.rs +0 -0
  63. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/benches/bench_cluster_async.rs +0 -0
  64. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/async-await.rs +0 -0
  65. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/async-connection-loss.rs +0 -0
  66. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/async-multiplexed.rs +0 -0
  67. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/async-pub-sub.rs +0 -0
  68. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/async-scan.rs +0 -0
  69. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/basic.rs +0 -0
  70. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/geospatial.rs +0 -0
  71. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/examples/streams.rs +0 -0
  72. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/release.toml +0 -0
  73. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/acl.rs +0 -0
  74. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/connection.rs +0 -0
  75. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/connection_manager.rs +0 -0
  76. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/mod.rs +0 -0
  77. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/multiplexed_connection.rs +0 -0
  78. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/runtime.rs +0 -0
  79. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/aio/tokio.rs +0 -0
  80. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/client.rs +0 -0
  81. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster.rs +0 -0
  82. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_async/LICENSE +0 -0
  83. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_async/connections_container.rs +0 -0
  84. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_async/connections_logic.rs +0 -0
  85. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_async/mod.rs +0 -0
  86. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_async/pipeline_routing.rs +0 -0
  87. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_client.rs +0 -0
  88. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_pipeline.rs +0 -0
  89. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_routing.rs +0 -0
  90. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_slotmap.rs +0 -0
  91. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cluster_topology.rs +0 -0
  92. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/cmd.rs +0 -0
  93. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/commands/cluster_scan.rs +0 -0
  94. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/commands/json.rs +0 -0
  95. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/commands/macros.rs +0 -0
  96. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/commands/mod.rs +0 -0
  97. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/connection.rs +0 -0
  98. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/geo.rs +0 -0
  99. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/lib.rs +0 -0
  100. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/macros.rs +0 -0
  101. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/parser.rs +0 -0
  102. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/pipeline.rs +0 -0
  103. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/push_manager.rs +0 -0
  104. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/r2d2.rs +0 -0
  105. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/retry_strategies.rs +0 -0
  106. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/script.rs +0 -0
  107. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/sentinel.rs +0 -0
  108. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/streams.rs +0 -0
  109. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/tls.rs +0 -0
  110. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/src/types.rs +0 -0
  111. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/auth.rs +0 -0
  112. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/parser.rs +0 -0
  113. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/support/cluster.rs +0 -0
  114. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/support/mock_cluster.rs +0 -0
  115. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/support/mod.rs +0 -0
  116. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/support/sentinel.rs +0 -0
  117. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/support/util.rs +0 -0
  118. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_acl.rs +0 -0
  119. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_async.rs +0 -0
  120. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_async_cluster_connections_logic.rs +0 -0
  121. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_basic.rs +0 -0
  122. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_bignum.rs +0 -0
  123. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_cluster.rs +0 -0
  124. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_cluster_async.rs +0 -0
  125. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_cluster_scan.rs +0 -0
  126. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_geospatial.rs +0 -0
  127. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_module_json.rs +0 -0
  128. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_pipeline.rs +0 -0
  129. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_sentinel.rs +0 -0
  130. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_streams.rs +0 -0
  131. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/redis/tests/test_types.rs +0 -0
  132. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/telemetrylib/src/lib.rs +0 -0
  133. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/telemetrylib/src/open_telemetry.rs +0 -0
  134. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/local_dependencies/telemetrylib/src/open_telemetry_exporter_file.rs +0 -0
  135. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/pyproject.toml +0 -0
  136. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/pytest.ini +0 -0
  137. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/__init__.py +0 -0
  138. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/__init__.py +0 -0
  139. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/bitmap.py +0 -0
  140. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/cluster_commands.py +0 -0
  141. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/command_args.py +0 -0
  142. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft.py +0 -0
  143. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft_options/ft_aggregate_options.py +0 -0
  144. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft_options/ft_constants.py +0 -0
  145. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft_options/ft_create_options.py +0 -0
  146. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft_options/ft_profile_options.py +0 -0
  147. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/ft_options/ft_search_options.py +0 -0
  148. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/glide_json.py +0 -0
  149. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/server_modules/json_batch.py +0 -0
  150. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/sorted_set.py +0 -0
  151. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/standalone_commands.py +0 -0
  152. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/async_commands/stream.py +0 -0
  153. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/config.py +0 -0
  154. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/constants.py +0 -0
  155. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/exceptions.py +0 -0
  156. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/glide.pyi +0 -0
  157. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/logger.py +0 -0
  158. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/protobuf_codec.py +0 -0
  159. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/py.typed +0 -0
  160. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/python/glide/routes.py +0 -0
  161. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/requirements.txt +0 -0
  162. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/src/lib.rs +3 -3
  163. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/__init__.py +0 -0
  164. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/conftest.py +0 -0
  165. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_api_export.py +0 -0
  166. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_auth.py +0 -0
  167. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_config.py +0 -0
  168. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_proto_coded.py +0 -0
  169. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_pubsub.py +0 -0
  170. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_read_from_strategy.py +0 -0
  171. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_scan.py +0 -0
  172. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/test_utils.py +0 -0
  173. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/tests_server_modules/test_ft.py +0 -0
  174. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/tests_server_modules/test_json.py +0 -0
  175. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/utils/cluster.py +0 -0
  176. {valkey_glide-2.0.0rc6 → valkey_glide-2.0.0rc7}/tests/utils/utils.py +0 -0
@@ -186,9 +186,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
186
186
 
187
187
  [[package]]
188
188
  name = "cc"
189
- version = "1.2.22"
189
+ version = "1.2.23"
190
190
  source = "registry+https://github.com/rust-lang/crates.io-index"
191
- checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1"
191
+ checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766"
192
192
  dependencies = [
193
193
  "shlex",
194
194
  ]
@@ -362,9 +362,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
362
362
 
363
363
  [[package]]
364
364
  name = "errno"
365
- version = "0.3.11"
365
+ version = "0.3.12"
366
366
  source = "registry+https://github.com/rust-lang/crates.io-index"
367
- checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
367
+ checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
368
368
  dependencies = [
369
369
  "libc",
370
370
  "windows-sys 0.59.0",
@@ -717,9 +717,9 @@ dependencies = [
717
717
 
718
718
  [[package]]
719
719
  name = "hyper-util"
720
- version = "0.1.11"
720
+ version = "0.1.12"
721
721
  source = "registry+https://github.com/rust-lang/crates.io-index"
722
- checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2"
722
+ checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710"
723
723
  dependencies = [
724
724
  "bytes",
725
725
  "futures-channel",
@@ -808,9 +808,9 @@ checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
808
808
 
809
809
  [[package]]
810
810
  name = "icu_properties"
811
- version = "2.0.0"
811
+ version = "2.0.1"
812
812
  source = "registry+https://github.com/rust-lang/crates.io-index"
813
- checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a"
813
+ checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
814
814
  dependencies = [
815
815
  "displaydoc",
816
816
  "icu_collections",
@@ -824,9 +824,9 @@ dependencies = [
824
824
 
825
825
  [[package]]
826
826
  name = "icu_properties_data"
827
- version = "2.0.0"
827
+ version = "2.0.1"
828
828
  source = "registry+https://github.com/rust-lang/crates.io-index"
829
- checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04"
829
+ checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
830
830
 
831
831
  [[package]]
832
832
  name = "icu_provider"
@@ -2366,7 +2366,7 @@ dependencies = [
2366
2366
 
2367
2367
  [[package]]
2368
2368
  name = "valkey-glide"
2369
- version = "2.0.0-rc6"
2369
+ version = "2.0.0-rc7"
2370
2370
  dependencies = [
2371
2371
  "bytes",
2372
2372
  "glide-core",
@@ -2532,15 +2532,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2532
2532
 
2533
2533
  [[package]]
2534
2534
  name = "windows-core"
2535
- version = "0.61.0"
2535
+ version = "0.61.2"
2536
2536
  source = "registry+https://github.com/rust-lang/crates.io-index"
2537
- checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980"
2537
+ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
2538
2538
  dependencies = [
2539
2539
  "windows-implement",
2540
2540
  "windows-interface",
2541
2541
  "windows-link",
2542
2542
  "windows-result",
2543
- "windows-strings 0.4.0",
2543
+ "windows-strings 0.4.2",
2544
2544
  ]
2545
2545
 
2546
2546
  [[package]]
@@ -2584,9 +2584,9 @@ dependencies = [
2584
2584
 
2585
2585
  [[package]]
2586
2586
  name = "windows-result"
2587
- version = "0.3.2"
2587
+ version = "0.3.4"
2588
2588
  source = "registry+https://github.com/rust-lang/crates.io-index"
2589
- checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
2589
+ checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
2590
2590
  dependencies = [
2591
2591
  "windows-link",
2592
2592
  ]
@@ -2602,9 +2602,9 @@ dependencies = [
2602
2602
 
2603
2603
  [[package]]
2604
2604
  name = "windows-strings"
2605
- version = "0.4.0"
2605
+ version = "0.4.2"
2606
2606
  source = "registry+https://github.com/rust-lang/crates.io-index"
2607
- checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97"
2607
+ checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
2608
2608
  dependencies = [
2609
2609
  "windows-link",
2610
2610
  ]
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "valkey-glide"
3
- version = "2.0.0-rc6"
4
- edition = "2024"
3
+ version = "2.0.0-rc7"
4
+ edition = "2021"
5
5
  license = "Apache-2.0"
6
6
  authors = ["Valkey GLIDE Maintainers"]
7
7
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: valkey-glide
3
- Version: 2.0.0rc6
3
+ Version: 2.0.0rc7
4
4
  Classifier: Topic :: Database
5
5
  Classifier: Topic :: Utilities
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -12895,7 +12895,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12895
12895
 
12896
12896
  ----
12897
12897
 
12898
- Package: hyper-util:0.1.11
12898
+ Package: hyper-util:0.1.12
12899
12899
 
12900
12900
  The following copyrights and licenses were found in the source code of this package:
12901
12901
 
@@ -13530,7 +13530,7 @@ authorization of the copyright holder.
13530
13530
 
13531
13531
  ----
13532
13532
 
13533
- Package: icu_properties:2.0.0
13533
+ Package: icu_properties:2.0.1
13534
13534
 
13535
13535
  The following copyrights and licenses were found in the source code of this package:
13536
13536
 
@@ -13568,7 +13568,7 @@ authorization of the copyright holder.
13568
13568
 
13569
13569
  ----
13570
13570
 
13571
- Package: icu_properties_data:2.0.0
13571
+ Package: icu_properties_data:2.0.1
13572
13572
 
13573
13573
  The following copyrights and licenses were found in the source code of this package:
13574
13574
 
@@ -39984,7 +39984,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39984
39984
 
39985
39985
  ----
39986
39986
 
39987
- Package: windows-core:0.61.0
39987
+ Package: windows-core:0.61.2
39988
39988
 
39989
39989
  The following copyrights and licenses were found in the source code of this package:
39990
39990
 
@@ -41129,7 +41129,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41129
41129
 
41130
41130
  ----
41131
41131
 
41132
- Package: windows-result:0.3.2
41132
+ Package: windows-result:0.3.4
41133
41133
 
41134
41134
  The following copyrights and licenses were found in the source code of this package:
41135
41135
 
@@ -41587,7 +41587,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41587
41587
 
41588
41588
  ----
41589
41589
 
41590
- Package: windows-strings:0.4.0
41590
+ Package: windows-strings:0.4.2
41591
41591
 
41592
41592
  The following copyrights and licenses were found in the source code of this package:
41593
41593
 
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "glide-core"
3
3
  version = "0.1.0"
4
- edition = "2024"
4
+ edition = "2021"
5
5
  license = "Apache-2.0"
6
6
  authors = ["Valkey GLIDE Maintainers"]
7
7
 
@@ -25,7 +25,7 @@ logger_core = { path = "../logger_core" }
25
25
  dispose = "0.5.0"
26
26
  tokio-util = { version = "^0.7", features = ["rt"], optional = true }
27
27
  num_cpus = { version = "^1.15", optional = true }
28
- tokio-retry2 = { version = "0.5", features = ["jitter"] }
28
+ tokio-retry2 = {version = "0.5", features = ["jitter"]}
29
29
 
30
30
  protobuf = { version = "3", features = [
31
31
  "bytes",
@@ -12922,7 +12922,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12922
12922
 
12923
12923
  ----
12924
12924
 
12925
- Package: hyper-util:0.1.11
12925
+ Package: hyper-util:0.1.12
12926
12926
 
12927
12927
  The following copyrights and licenses were found in the source code of this package:
12928
12928
 
@@ -13557,7 +13557,7 @@ authorization of the copyright holder.
13557
13557
 
13558
13558
  ----
13559
13559
 
13560
- Package: icu_properties:2.0.0
13560
+ Package: icu_properties:2.0.1
13561
13561
 
13562
13562
  The following copyrights and licenses were found in the source code of this package:
13563
13563
 
@@ -13595,7 +13595,7 @@ authorization of the copyright holder.
13595
13595
 
13596
13596
  ----
13597
13597
 
13598
- Package: icu_properties_data:2.0.0
13598
+ Package: icu_properties_data:2.0.1
13599
13599
 
13600
13600
  The following copyrights and licenses were found in the source code of this package:
13601
13601
 
@@ -38149,7 +38149,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38149
38149
 
38150
38150
  ----
38151
38151
 
38152
- Package: windows-core:0.61.0
38152
+ Package: windows-core:0.61.2
38153
38153
 
38154
38154
  The following copyrights and licenses were found in the source code of this package:
38155
38155
 
@@ -39294,7 +39294,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39294
39294
 
39295
39295
  ----
39296
39296
 
39297
- Package: windows-result:0.3.2
39297
+ Package: windows-result:0.3.4
39298
39298
 
39299
39299
  The following copyrights and licenses were found in the source code of this package:
39300
39300
 
@@ -39752,7 +39752,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39752
39752
 
39753
39753
  ----
39754
39754
 
39755
- Package: windows-strings:0.4.0
39755
+ Package: windows-strings:0.4.2
39756
39756
 
39757
39757
  The following copyrights and licenses were found in the source code of this package:
39758
39758
 
@@ -1,13 +1,13 @@
1
1
  // Copyright Valkey GLIDE Project Contributors - SPDX Identifier: Apache-2.0
2
2
 
3
- use criterion::{Criterion, criterion_group, criterion_main};
3
+ use criterion::{criterion_group, criterion_main, Criterion};
4
4
  use futures::future::join_all;
5
5
  use redis::{
6
- AsyncCommands, ConnectionAddr, ConnectionInfo, GlideConnectionOptions, RedisConnectionInfo,
7
- RedisResult, Value,
8
6
  aio::{ConnectionLike, ConnectionManager, MultiplexedConnection},
9
7
  cluster::ClusterClientBuilder,
10
8
  cluster_async::ClusterConnection,
9
+ AsyncCommands, ConnectionAddr, ConnectionInfo, GlideConnectionOptions, RedisConnectionInfo,
10
+ RedisResult, Value,
11
11
  };
12
12
  use std::env;
13
13
  use tokio::runtime::{Builder, Runtime};
@@ -5,7 +5,7 @@ use glide_core::{
5
5
  connection_request::{ConnectionRequest, NodeAddress, TlsMode},
6
6
  };
7
7
  use iai_callgrind::{black_box, library_benchmark, library_benchmark_group, main};
8
- use redis::{Value, cmd};
8
+ use redis::{cmd, Value};
9
9
  use tokio::runtime::Builder;
10
10
 
11
11
  fn create_connection_request() -> ConnectionRequest {
@@ -3,15 +3,15 @@
3
3
  use std::{io::Write, ptr::from_mut};
4
4
 
5
5
  use bytes::BufMut;
6
- use criterion::{Criterion, black_box, criterion_group, criterion_main};
6
+ use criterion::{black_box, criterion_group, criterion_main, Criterion};
7
7
  use glide_core::{
8
- command_request::{Command, CommandRequest, RequestType},
9
8
  command_request::{command, command_request},
9
+ command_request::{Command, CommandRequest, RequestType},
10
10
  rotating_buffer::RotatingBuffer,
11
11
  };
12
12
  use integer_encoding::VarInt;
13
13
  use protobuf::Message;
14
- use rand::{Rng, distributions::Alphanumeric};
14
+ use rand::{distributions::Alphanumeric, Rng};
15
15
 
16
16
  fn benchmark(
17
17
  c: &mut Criterion,
@@ -6,7 +6,6 @@ use crate::cluster_scan_container::insert_cluster_scan_cursor;
6
6
  use crate::scripts_container::get_script;
7
7
  use futures::FutureExt;
8
8
  use logger_core::{log_error, log_info, log_warn};
9
- use once_cell::sync::OnceCell;
10
9
  use redis::aio::ConnectionLike;
11
10
  use redis::cluster_async::ClusterConnection;
12
11
  use redis::cluster_routing::{
@@ -20,12 +19,9 @@ use redis::{
20
19
  pub use standalone_client::StandaloneClient;
21
20
  use std::io;
22
21
  use std::str::FromStr;
23
- use std::sync::Arc;
24
22
  use std::sync::atomic::{AtomicIsize, Ordering};
25
- use std::thread;
26
- use std::thread::JoinHandle;
23
+ use std::sync::Arc;
27
24
  use std::time::Duration;
28
- use tokio::runtime::{Builder, Handle};
29
25
  pub use types::*;
30
26
 
31
27
  use self::value_conversion::{convert_to_expected_type, expected_type_for_cmd, get_value_type};
@@ -34,7 +30,7 @@ mod standalone_client;
34
30
  mod value_conversion;
35
31
  use redis::InfoDict;
36
32
  use telemetrylib::*;
37
- use tokio::sync::{Notify, mpsc, oneshot};
33
+ use tokio::sync::mpsc;
38
34
  use versions::Versioning;
39
35
 
40
36
  pub const HEARTBEAT_SLEEP_DURATION: Duration = Duration::from_secs(1);
@@ -63,67 +59,6 @@ pub const DEFAULT_MAX_INFLIGHT_REQUESTS: u32 = 1000;
63
59
  /// and performance overhead.
64
60
  pub const CONNECTION_CHECKS_INTERVAL: Duration = Duration::from_secs(3);
65
61
 
66
- /// A static Glide runtime instance
67
- static RUNTIME: OnceCell<GlideRt> = OnceCell::new();
68
-
69
- pub struct GlideRt {
70
- pub runtime: Handle,
71
- pub(crate) thread: Option<JoinHandle<()>>,
72
- shutdown_notifier: Arc<Notify>,
73
- }
74
-
75
- /// Initializes a single-threaded Tokio runtime in a dedicated thread (if not already initialized)
76
- /// and returns a static reference to the `GlideRt` wrapper, which holds the runtime handle and a shutdown notifier.
77
- /// The runtime remains active indefinitely until a shutdown is triggered via the notifier, allowing tasks to be spawned
78
- /// throughout the lifetime of the application.
79
- pub fn get_or_init_runtime() -> Result<&'static GlideRt, String> {
80
- RUNTIME.get_or_try_init(|| {
81
- let notify = Arc::new(Notify::new());
82
- let notify_thread = notify.clone();
83
-
84
- let (tx, rx) = oneshot::channel();
85
-
86
- let thread_handle = thread::Builder::new()
87
- .name("glide-runtime-thread".into())
88
- .spawn(move || {
89
- match Builder::new_current_thread().enable_all().build() {
90
- Ok(runtime) => {
91
- let _ = tx.send(Ok(runtime.handle().clone()));
92
- // Keep runtime alive until shutdown is signaled
93
- runtime.block_on(notify_thread.notified());
94
- }
95
- Err(err) => {
96
- let _ = tx.send(Err(format!("Failed to create runtime: {err}")));
97
- }
98
- }
99
- })
100
- .map_err(|_| "Failed to spawn runtime thread".to_string())?;
101
-
102
- let runtime_handle = rx
103
- .blocking_recv()
104
- .map_err(|err| format!("Failed to receive runtime handle: {err:?}"))??;
105
-
106
- Ok(GlideRt {
107
- runtime: runtime_handle,
108
- thread: Some(thread_handle),
109
- shutdown_notifier: notify,
110
- })
111
- })
112
- }
113
-
114
- impl Drop for GlideRt {
115
- fn drop(&mut self) {
116
- if let Some(rt) = RUNTIME.get() {
117
- rt.shutdown_notifier.notify_one();
118
- }
119
-
120
- // Move the JoinHandle out of the Option and join it
121
- if let Some(handle) = self.thread.take() {
122
- handle.join().expect("GlideRt thread panicked");
123
- }
124
- }
125
- }
126
-
127
62
  pub(super) fn get_port(address: &NodeAddress) -> u16 {
128
63
  const DEFAULT_PORT: u16 = 6379;
129
64
  if address.port == 0 {
@@ -860,14 +795,14 @@ async fn create_cluster_client(
860
795
  return Err(RedisError::from((
861
796
  ErrorKind::ResponseError,
862
797
  "Failed to parse engine version",
863
- )));
798
+ )))
864
799
  }
865
800
  },
866
801
  _ => {
867
802
  return Err(RedisError::from((
868
803
  ErrorKind::ResponseError,
869
804
  "Could not determine engine version from INFO result",
870
- )));
805
+ )))
871
806
  }
872
807
  }
873
808
  }
@@ -1106,7 +1041,7 @@ mod tests {
1106
1041
  use redis::Cmd;
1107
1042
 
1108
1043
  use crate::client::{
1109
- BLOCKING_CMD_TIMEOUT_EXTENSION, RequestTimeoutOption, TimeUnit, get_request_timeout,
1044
+ get_request_timeout, RequestTimeoutOption, TimeUnit, BLOCKING_CMD_TIMEOUT_EXTENSION,
1110
1045
  };
1111
1046
 
1112
1047
  use super::get_timeout_from_cmd_arg;
@@ -9,18 +9,18 @@ use redis::{
9
9
  GlideConnectionOptions, PushInfo, RedisConnectionInfo, RedisError, RedisResult, RetryStrategy,
10
10
  };
11
11
  use std::fmt;
12
+ use std::sync::atomic::{AtomicBool, Ordering};
12
13
  use std::sync::Arc;
13
14
  use std::sync::Mutex;
14
- use std::sync::atomic::{AtomicBool, Ordering};
15
15
  use std::sync::{RwLock, RwLockReadGuard};
16
16
  use std::time::Duration;
17
17
  use telemetrylib::Telemetry;
18
- use tokio::sync::{Notify, mpsc};
18
+ use tokio::sync::{mpsc, Notify};
19
19
  use tokio::task;
20
20
  use tokio::time::timeout;
21
21
  use tokio_retry2::{Retry, RetryError};
22
22
 
23
- use super::{DEFAULT_CONNECTION_TIMEOUT, run_with_timeout};
23
+ use super::{run_with_timeout, DEFAULT_CONNECTION_TIMEOUT};
24
24
 
25
25
  const WRITE_LOCK_ERR: &str = "Failed to acquire the write lock";
26
26
  const READ_LOCK_ERR: &str = "Failed to acquire the read lock";
@@ -2,19 +2,19 @@
2
2
 
3
3
  use super::get_redis_connection_info;
4
4
  use super::reconnecting_connection::{ReconnectReason, ReconnectingConnection};
5
+ use super::{to_duration, DEFAULT_CONNECTION_TIMEOUT};
5
6
  use super::{ConnectionRequest, NodeAddress, TlsMode};
6
- use super::{DEFAULT_CONNECTION_TIMEOUT, to_duration};
7
7
  use crate::client::types::ReadFrom as ClientReadFrom;
8
- use futures::{StreamExt, future, stream};
8
+ use futures::{future, stream, StreamExt};
9
9
  use logger_core::log_debug;
10
10
  use logger_core::log_warn;
11
11
  use rand::Rng;
12
12
  use redis::aio::ConnectionLike;
13
- use redis::cluster_routing::{self, ResponsePolicy, Routable, RoutingInfo, is_readonly_cmd};
13
+ use redis::cluster_routing::{self, is_readonly_cmd, ResponsePolicy, Routable, RoutingInfo};
14
14
  use redis::{PushInfo, RedisError, RedisResult, RetryStrategy, Value};
15
- use std::sync::Arc;
16
15
  use std::sync::atomic::AtomicUsize;
17
16
  use std::sync::atomic::Ordering;
17
+ use std::sync::Arc;
18
18
  use std::time::Duration;
19
19
  use telemetrylib::Telemetry;
20
20
  use tokio::sync::mpsc;
@@ -93,7 +93,11 @@ fn chars_to_string_option(chars: &::protobuf::Chars) -> Option<String> {
93
93
 
94
94
  #[cfg(feature = "proto")]
95
95
  pub(crate) fn none_if_zero(value: u32) -> Option<u32> {
96
- if value == 0 { None } else { Some(value) }
96
+ if value == 0 {
97
+ None
98
+ } else {
99
+ Some(value)
100
+ }
97
101
  }
98
102
 
99
103
  #[cfg(feature = "proto")]