opengris-scaler 1.12.7__tar.gz → 1.12.8__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 opengris-scaler might be problematic. Click here for more details.

Files changed (349) hide show
  1. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/CMakeLists.txt +12 -0
  2. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/PKG-INFO +1 -1
  3. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/automated_echo_client.cpp +1 -1
  4. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/pingpong.cpp +1 -1
  5. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/loader.py +3 -2
  6. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/mixins.py +6 -1
  7. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/types/worker.py +6 -1
  8. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/types/zmq.py +5 -1
  9. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/CMakeLists.txt +0 -1
  10. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/epoll_context.h +0 -1
  11. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/CMakeLists.txt +0 -2
  12. opengris_scaler-1.12.8/scaler/version.txt +1 -0
  13. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/common.h +15 -4
  14. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/main.py +0 -1
  15. opengris_scaler-1.12.7/scaler/io/ymq/file_descriptor.h +0 -203
  16. opengris_scaler-1.12.7/scaler/version.txt +0 -1
  17. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.clang-format +0 -0
  18. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/3rd-party-libraries-compile/action.yml +0 -0
  19. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/3rd-party-libraries-download/action.yml +0 -0
  20. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/3rd-party-libraries-install/action.yml +0 -0
  21. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/compile-libraries/action.yml +0 -0
  22. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/create-artifacts/action.yml +0 -0
  23. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/harden-check/action.yml +0 -0
  24. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/publish-doc/action.yml +0 -0
  25. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/run-linter/action.yml +0 -0
  26. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/run-test/action.yml +0 -0
  27. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/actions/setup-env/action.yml +0 -0
  28. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/dependabot.yml +0 -0
  29. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/build-and-test.yml +0 -0
  30. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/codeql.yml +0 -0
  31. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/dependency-review.yml +0 -0
  32. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/publish-artifact.yml +0 -0
  33. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/publish-documentation.yml +0 -0
  34. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.github/workflows/scorecard.yml +0 -0
  35. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/.gitignore +0 -0
  36. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/CMakePresets.json +0 -0
  37. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/CONTRIBUTING.md +0 -0
  38. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/LICENSE +0 -0
  39. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/LICENSE.spdx +0 -0
  40. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/NOTICE +0 -0
  41. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/README.md +0 -0
  42. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/benchmarks/dask_local_test.py +0 -0
  43. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/benchmarks/dask_remote_test.py +0 -0
  44. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/benchmarks/scaler_test.py +0 -0
  45. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/.gitignore +0 -0
  46. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/Makefile +0 -0
  47. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/make.bat +0 -0
  48. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/requirements_docs.txt +0 -0
  49. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/_static/style.css +0 -0
  50. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/_templates/layout.html +0 -0
  51. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/conf.py +0 -0
  52. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/index.rst +0 -0
  53. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/tutorials/configuration.rst +0 -0
  54. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/tutorials/examples.rst +0 -0
  55. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/tutorials/features.rst +0 -0
  56. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/tutorials/images/architecture.png +0 -0
  57. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/docs/source/tutorials/quickstart.rst +0 -0
  58. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/downloaded/capnproto-c++-1.1.0.tar.gz +0 -0
  59. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/CMakeLists.txt +0 -0
  60. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/downloaded_data.csv +0 -0
  61. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/implied_volatility.py +0 -0
  62. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/pillow.py +0 -0
  63. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/requirements_applications.txt +0 -0
  64. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/timeseries.py +0 -0
  65. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/applications/yfinance_historical_price.py +0 -0
  66. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/CMakeLists.txt +0 -0
  67. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/CMakeLists.txt +0 -0
  68. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/echo_client.cpp +0 -0
  69. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/echo_server.cpp +0 -0
  70. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/pub_server.cpp +0 -0
  71. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/remove_iosocket.cpp +0 -0
  72. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/sub_client.cpp +0 -0
  73. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/cpp/ymq/timestamp.cpp +0 -0
  74. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/disconnect_client.py +0 -0
  75. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/graphtask_client.py +0 -0
  76. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/graphtask_nested_client.py +0 -0
  77. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/images/cat_1.jpg +0 -0
  78. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/images/cat_2.jpg +0 -0
  79. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/map_client.py +0 -0
  80. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/nested_client.py +0 -0
  81. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/readme.md +0 -0
  82. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/send_object_client.py +0 -0
  83. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/simple_client.py +0 -0
  84. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/examples/task_capabilities.py +0 -0
  85. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/pyproject.toml +0 -0
  86. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/renovate.json +0 -0
  87. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_cluster.py +0 -0
  88. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_object_storage_server.py +0 -0
  89. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_scheduler.py +0 -0
  90. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_top.py +0 -0
  91. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_webui.py +0 -0
  92. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_worker_adapter_native.py +0 -0
  93. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/run_worker_adapter_symphony.py +0 -0
  94. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/CMakeLists.txt +0 -0
  95. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/__init__.py +0 -0
  96. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/about.py +0 -0
  97. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/__init__.py +0 -0
  98. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/__init__.py +0 -0
  99. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/client_agent.py +0 -0
  100. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/disconnect_manager.py +0 -0
  101. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/future_manager.py +0 -0
  102. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/heartbeat_manager.py +0 -0
  103. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/mixins.py +0 -0
  104. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/object_manager.py +0 -0
  105. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/agent/task_manager.py +0 -0
  106. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/client.py +0 -0
  107. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/future.py +0 -0
  108. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/object_buffer.py +0 -0
  109. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/object_reference.py +0 -0
  110. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/serializer/__init__.py +0 -0
  111. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/serializer/default.py +0 -0
  112. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/client/serializer/mixins.py +0 -0
  113. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/cluster/__init__.py +0 -0
  114. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/cluster/cluster.py +0 -0
  115. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/cluster/combo.py +0 -0
  116. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/cluster/object_storage_server.py +0 -0
  117. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/cluster/scheduler.py +0 -0
  118. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/__init__.py +0 -0
  119. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/defaults.py +0 -0
  120. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/__init__.py +0 -0
  121. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/cluster.py +0 -0
  122. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/native_worker_adapter.py +0 -0
  123. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/object_storage_server.py +0 -0
  124. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/scheduler.py +0 -0
  125. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/symphony_worker_adapter.py +0 -0
  126. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/top.py +0 -0
  127. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/section/webui.py +0 -0
  128. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/types/__init__.py +0 -0
  129. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/config/types/object_storage_server.py +0 -0
  130. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/__init__.py +0 -0
  131. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/cluster.py +0 -0
  132. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/object_storage_server.py +0 -0
  133. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/scheduler.py +0 -0
  134. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/top.py +0 -0
  135. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/webui.py +0 -0
  136. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/worker_adapter_native.py +0 -0
  137. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/entry_points/worker_adapter_symphony.py +0 -0
  138. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/__init__.py +0 -0
  139. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/async_binder.py +0 -0
  140. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/async_connector.py +0 -0
  141. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/async_object_storage_connector.py +0 -0
  142. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/mixins.py +0 -0
  143. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/sync_connector.py +0 -0
  144. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/sync_object_storage_connector.py +0 -0
  145. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/sync_subscriber.py +0 -0
  146. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/utility.py +0 -0
  147. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/__init__.py +0 -0
  148. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/_ymq.pyi +0 -0
  149. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/bytes.h +0 -0
  150. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/common.h +0 -0
  151. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/configuration.h +0 -0
  152. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/epoll_context.cpp +0 -0
  153. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/error.h +0 -0
  154. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/event_loop.h +0 -0
  155. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/event_loop_thread.cpp +0 -0
  156. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/event_loop_thread.h +0 -0
  157. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/event_manager.h +0 -0
  158. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/interruptive_concurrent_queue.h +0 -0
  159. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/io_context.cpp +0 -0
  160. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/io_context.h +0 -0
  161. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/io_socket.cpp +0 -0
  162. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/io_socket.h +0 -0
  163. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/iocp_context.cpp +0 -0
  164. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/iocp_context.h +0 -0
  165. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/logging.h +0 -0
  166. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/message.h +0 -0
  167. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/message_connection.h +0 -0
  168. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/message_connection_tcp.cpp +0 -0
  169. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/message_connection_tcp.h +0 -0
  170. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/network_utils.h +0 -0
  171. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/bytes.h +0 -0
  172. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/exception.h +0 -0
  173. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/gil.h +0 -0
  174. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/io_context.h +0 -0
  175. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/io_socket.h +0 -0
  176. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/message.h +0 -0
  177. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/python.h +0 -0
  178. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/ymq.cpp +0 -0
  179. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/pymod_ymq/ymq.h +0 -0
  180. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/readme.md +0 -0
  181. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/simple_interface.cpp +0 -0
  182. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/simple_interface.h +0 -0
  183. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/tcp_client.cpp +0 -0
  184. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/tcp_client.h +0 -0
  185. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/tcp_operations.h +0 -0
  186. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/tcp_server.cpp +0 -0
  187. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/tcp_server.h +0 -0
  188. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/third_party/concurrentqueue.h +0 -0
  189. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/timed_queue.h +0 -0
  190. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/timestamp.h +0 -0
  191. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/typedefs.h +0 -0
  192. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/utils.h +0 -0
  193. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/io/ymq/ymq.py +0 -0
  194. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/__init__.py +0 -0
  195. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/constants.h +0 -0
  196. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/defs.h +0 -0
  197. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/io_helper.cpp +0 -0
  198. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/io_helper.h +0 -0
  199. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/message.cpp +0 -0
  200. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/message.h +0 -0
  201. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/object_manager.cpp +0 -0
  202. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/object_manager.h +0 -0
  203. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/object_storage_server.cpp +0 -0
  204. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/object_storage_server.h +0 -0
  205. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/object_storage/pymod_object_storage_server.cpp +0 -0
  206. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/__init__.py +0 -0
  207. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/__init__.py +0 -0
  208. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/_python.py +0 -0
  209. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/common.capnp +0 -0
  210. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/message.capnp +0 -0
  211. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/object_storage.capnp +0 -0
  212. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/capnp/status.capnp +0 -0
  213. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/introduction.md +0 -0
  214. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/__init__.py +0 -0
  215. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/common.py +0 -0
  216. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/message.py +0 -0
  217. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/mixins.py +0 -0
  218. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/object_storage.py +0 -0
  219. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/python/status.py +0 -0
  220. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/protocol/worker.md +0 -0
  221. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/__init__.py +0 -0
  222. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/allocate_policy/__init__.py +0 -0
  223. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/allocate_policy/allocate_policy.py +0 -0
  224. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/allocate_policy/capability_allocate_policy.py +0 -0
  225. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/allocate_policy/even_load_allocate_policy.py +0 -0
  226. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/allocate_policy/mixins.py +0 -0
  227. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/__init__.py +0 -0
  228. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/balance_controller.py +0 -0
  229. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/client_controller.py +0 -0
  230. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/config_controller.py +0 -0
  231. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/graph_controller.py +0 -0
  232. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/information_controller.py +0 -0
  233. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/mixins.py +0 -0
  234. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/object_controller.py +0 -0
  235. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/scaling_controller.py +0 -0
  236. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/task_controller.py +0 -0
  237. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/controllers/worker_controller.py +0 -0
  238. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/object_usage/__init__.py +0 -0
  239. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/object_usage/object_tracker.py +0 -0
  240. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/scheduler.py +0 -0
  241. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/task/__init__.py +0 -0
  242. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/task/task_state_machine.py +0 -0
  243. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/scheduler/task/task_state_manager.py +0 -0
  244. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/__init__.py +0 -0
  245. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/constants.py +0 -0
  246. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/live_display.py +0 -0
  247. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/memory_window.py +0 -0
  248. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/setting_page.py +0 -0
  249. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/task_graph.py +0 -0
  250. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/task_log.py +0 -0
  251. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/utility.py +0 -0
  252. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/webui.py +0 -0
  253. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/ui/worker_processors.py +0 -0
  254. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/__init__.py +0 -0
  255. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/debug.py +0 -0
  256. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/event_list.py +0 -0
  257. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/event_loop.py +0 -0
  258. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/exceptions.py +0 -0
  259. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/formatter.py +0 -0
  260. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/graph/__init__.py +0 -0
  261. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/graph/optimization.py +0 -0
  262. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/graph/topological_sorter.py +0 -0
  263. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/graph/topological_sorter_graphblas.py +0 -0
  264. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/identifiers.py +0 -0
  265. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/logging/__init__.py +0 -0
  266. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/logging/decorators.py +0 -0
  267. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/logging/scoped_logger.py +0 -0
  268. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/logging/utility.py +0 -0
  269. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/many_to_many_dict.py +0 -0
  270. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/metadata/__init__.py +0 -0
  271. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/metadata/profile_result.py +0 -0
  272. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/metadata/task_flags.py +0 -0
  273. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/mixins.py +0 -0
  274. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/network_util.py +0 -0
  275. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/one_to_many_dict.py +0 -0
  276. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/queues/__init__.py +0 -0
  277. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/queues/async_indexed_queue.py +0 -0
  278. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/queues/async_priority_queue.py +0 -0
  279. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/queues/async_sorted_priority_queue.py +0 -0
  280. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/queues/indexed_queue.py +0 -0
  281. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/utility/serialization.py +0 -0
  282. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/__init__.py +0 -0
  283. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/__init__.py +0 -0
  284. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/heartbeat_manager.py +0 -0
  285. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/mixins.py +0 -0
  286. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor/__init__.py +0 -0
  287. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor/object_cache.py +0 -0
  288. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor/processor.py +0 -0
  289. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor/streaming_buffer.py +0 -0
  290. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor_holder.py +0 -0
  291. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/processor_manager.py +0 -0
  292. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/profiling_manager.py +0 -0
  293. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/task_manager.py +0 -0
  294. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/agent/timeout_manager.py +0 -0
  295. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/preload.py +0 -0
  296. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker/worker.py +0 -0
  297. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/__init__.py +0 -0
  298. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/native.py +0 -0
  299. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/__init__.py +0 -0
  300. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/callback.py +0 -0
  301. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/heartbeat_manager.py +0 -0
  302. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/message.py +0 -0
  303. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/task_manager.py +0 -0
  304. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/worker.py +0 -0
  305. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scaler/worker_adapter/symphony/worker_adapter.py +0 -0
  306. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scripts/build.sh +0 -0
  307. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scripts/library_tool.ps1 +0 -0
  308. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scripts/library_tool.sh +0 -0
  309. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/scripts/test.sh +0 -0
  310. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/slides/Effortless Distributed Computing in Python - FOSDEM 2025.pdf +0 -0
  311. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/slides/OSFF 2025 London.pdf +0 -0
  312. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/CMakeLists.txt +0 -0
  313. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/__init__.py +0 -0
  314. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/CMakeLists.txt +0 -0
  315. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/object_storage/CMakeLists.txt +0 -0
  316. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/object_storage/test_object_manager.cpp +0 -0
  317. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/object_storage/test_object_storage_server.cpp +0 -0
  318. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/CMakeLists.txt +0 -0
  319. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/__init__.py +0 -0
  320. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/passthrough.py +0 -0
  321. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/randomly_drop_packets.py +0 -0
  322. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/send_rst_to_client.py +0 -0
  323. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/py_mitm/types.py +0 -0
  324. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/cpp/ymq/test_ymq.cpp +0 -0
  325. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/io/ymq/CMakeLists.txt +0 -0
  326. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/io/ymq/test_logging.cpp +0 -0
  327. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_async_indexed_queue.py +0 -0
  328. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_async_priority_queue.py +0 -0
  329. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_async_sorted_priority_queue.py +0 -0
  330. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_balance.py +0 -0
  331. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_capabilities.py +0 -0
  332. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_capability_allocate_policy.py +0 -0
  333. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_client.py +0 -0
  334. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_cluster.py +0 -0
  335. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_cluster_disconnect.py +0 -0
  336. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_config.py +0 -0
  337. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_death_timeout.py +0 -0
  338. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_future.py +0 -0
  339. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_graph.py +0 -0
  340. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_indexed_queue.py +0 -0
  341. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_nested_task.py +0 -0
  342. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_object_usage.py +0 -0
  343. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_profiling.py +0 -0
  344. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_protected.py +0 -0
  345. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_scaling.py +0 -0
  346. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_serializer.py +0 -0
  347. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/test_ui.py +0 -0
  348. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/tests/utility.py +0 -0
  349. {opengris_scaler-1.12.7 → opengris_scaler-1.12.8}/version.h.in +0 -0
@@ -103,6 +103,18 @@ find_package(CapnProto CONFIG REQUIRED)
103
103
  get_target_property(CAPNP_INCLUDE_DIRS CapnProto::capnp INTERFACE_INCLUDE_DIRECTORIES)
104
104
  message(STATUS "Found Capnp includes in ${CAPNP_INCLUDE_DIRS}")
105
105
 
106
+ execute_process(
107
+ COMMAND python3-config --prefix
108
+ OUTPUT_VARIABLE PYTHON_PREFIX
109
+ OUTPUT_STRIP_TRAILING_WHITESPACE
110
+ )
111
+ set(Python3_ROOT_DIR "${PYTHON_PREFIX}")
112
+
113
+ find_package(Python3 REQUIRED COMPONENTS Development.Module)
114
+ message(STATUS "Python version: ${Python3_VERSION}")
115
+ message(STATUS "Python include dirs: ${Python3_INCLUDE_DIRS}")
116
+ message(STATUS "Python ABI: ${Python3_SOABI}")
117
+
106
118
  # Make LSP happy
107
119
  include_directories(${CAPNP_INCLUDE_DIRS})
108
120
  include_directories(${PROJECT_SOURCE_DIR})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: opengris-scaler
3
- Version: 1.12.7
3
+ Version: 1.12.8
4
4
  Summary: OpenGRIS Scaler Distribution Framework
5
5
  Author-Email: Citi <opensource@citi.com>
6
6
  License: Apache 2.0
@@ -40,7 +40,7 @@ int main()
40
40
 
41
41
  const std::string_view line = longStr;
42
42
 
43
- for (int cnt = 0; cnt < msgCnt; ++cnt) {
43
+ for (size_t cnt = 0; cnt < msgCnt; ++cnt) {
44
44
  Message message;
45
45
  std::string destAddress = "ServerSocket";
46
46
 
@@ -42,7 +42,7 @@ int main(int argc, char* argv[])
42
42
  const std::string_view line = longStr;
43
43
 
44
44
  time_point<system_clock> start = system_clock::now();
45
- for (int cnt = 0; cnt < msgCnt; ++cnt) {
45
+ for (size_t cnt = 0; cnt < msgCnt; ++cnt) {
46
46
  Message message {};
47
47
  message.payload = Bytes {const_cast<char*>(line.data()), line.size()};
48
48
 
@@ -1,11 +1,12 @@
1
1
  import argparse
2
2
  import dataclasses
3
3
  import enum
4
+ import sys
4
5
  from typing import Any, cast, Dict, Optional, Type, TypeVar, Union, get_args, get_origin
5
6
 
6
- try:
7
+ if sys.version_info >= (3, 11):
7
8
  import tomllib
8
- except ImportError:
9
+ else:
9
10
  import tomli as tomllib
10
11
 
11
12
  from scaler.config.mixins import ConfigType
@@ -1,5 +1,10 @@
1
1
  import abc
2
- from typing_extensions import Self
2
+ import sys
3
+
4
+ if sys.version_info >= (3, 11):
5
+ from typing import Self
6
+ else:
7
+ from typing_extensions import Self
3
8
 
4
9
 
5
10
  class ConfigType(metaclass=abc.ABCMeta):
@@ -1,6 +1,11 @@
1
1
  import dataclasses
2
+ import sys
2
3
  from typing import List, Dict
3
- from typing_extensions import Self
4
+
5
+ if sys.version_info >= (3, 11):
6
+ from typing import Self
7
+ else:
8
+ from typing_extensions import Self
4
9
 
5
10
  from scaler.config.mixins import ConfigType
6
11
 
@@ -1,8 +1,12 @@
1
1
  import dataclasses
2
2
  import enum
3
+ import sys
3
4
  from typing import Optional
4
5
 
5
- from typing_extensions import Self
6
+ if sys.version_info >= (3, 11):
7
+ from typing import Self
8
+ else:
9
+ from typing_extensions import Self
6
10
  from scaler.config.mixins import ConfigType
7
11
 
8
12
 
@@ -58,7 +58,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/scaler/io/ymq)
58
58
 
59
59
  if(LINUX)
60
60
  # ymq python =======================================================================================================
61
- find_package(Python3 COMPONENTS Development.Module REQUIRED)
62
61
 
63
62
  add_library(py_ymq SHARED
64
63
  pymod_ymq/bytes.h
@@ -12,7 +12,6 @@
12
12
  #include "scaler/io/ymq/timed_queue.h"
13
13
 
14
14
  // First-party
15
- #include "scaler/io/ymq/file_descriptor.h"
16
15
  #include "scaler/io/ymq/interruptive_concurrent_queue.h"
17
16
  #include "scaler/io/ymq/timestamp.h"
18
17
 
@@ -21,8 +21,6 @@ add_library(object_storage_server_objs OBJECT
21
21
  set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/scaler/object_storage)
22
22
 
23
23
  # object_storage_server python =========================================================================================
24
- find_package(Python3 REQUIRED COMPONENTS Development.Module)
25
-
26
24
  add_library(py_object_storage_server MODULE
27
25
  pymod_object_storage_server.cpp
28
26
  )
@@ -0,0 +1 @@
1
+ 1.12.8
@@ -28,12 +28,10 @@
28
28
  #include <ctime>
29
29
  #include <exception>
30
30
  #include <filesystem>
31
- #include <format>
32
31
  #include <functional>
33
32
  #include <iostream>
34
33
  #include <optional>
35
34
  #include <print>
36
- #include <stdexcept>
37
35
  #include <string>
38
36
  #include <system_error>
39
37
  #include <thread>
@@ -471,13 +469,26 @@ inline TestResult run_python(const char* path, std::vector<const wchar_t*> argv
471
469
  if (PyStatus_Exception(status))
472
470
  goto exception;
473
471
 
472
+ argv.insert(argv.begin(), L"mitm");
473
+ status = PyConfig_SetArgv(&config, argv.size(), (wchar_t**)argv.data());
474
+ if (PyStatus_Exception(status))
475
+ goto exception;
476
+
477
+ // pass argv to the script as-is
478
+ config.parse_argv = 0;
479
+
474
480
  status = Py_InitializeFromConfig(&config);
475
481
  if (PyStatus_Exception(status))
476
482
  goto exception;
477
483
  PyConfig_Clear(&config);
478
484
 
479
- argv.insert(argv.begin(), L"mitm");
480
- PySys_SetArgv(argv.size(), (wchar_t**)argv.data());
485
+ // add the cwd to the path
486
+ {
487
+ PyObject* sysPath = PySys_GetObject("path");
488
+ PyObject* newPath = PyUnicode_FromString(".");
489
+ PyList_Append(sysPath, newPath);
490
+ Py_DECREF(newPath);
491
+ }
481
492
 
482
493
  {
483
494
  auto file = fopen(path, "r");
@@ -8,7 +8,6 @@ import argparse
8
8
  import os
9
9
  import signal
10
10
  import subprocess
11
- import types
12
11
  from typing import List
13
12
  from scapy.all import IP, TCP, TunTapInterface # type: ignore
14
13
 
@@ -1,203 +0,0 @@
1
- #pragma once
2
-
3
- // System
4
- #include <sys/epoll.h>
5
- #include <sys/eventfd.h>
6
- #include <sys/socket.h>
7
- #include <sys/timerfd.h>
8
- #include <unistd.h>
9
-
10
- // C
11
- #include <cerrno>
12
-
13
- // C++
14
- #include <expected>
15
- #include <optional>
16
-
17
- // First-party
18
- #include "scaler/io/ymq/common.h"
19
-
20
- class FileDescriptor {
21
- int fd;
22
-
23
- FileDescriptor(int fd): fd(fd) {}
24
-
25
- public:
26
- ~FileDescriptor() noexcept(false)
27
- {
28
- if (auto code = close(fd) < 0)
29
- throw std::system_error(errno, std::system_category(), "Failed to close file descriptor");
30
-
31
- this->fd = -1;
32
- }
33
-
34
- FileDescriptor(): fd(-1) {}
35
-
36
- // move-only
37
- FileDescriptor(const FileDescriptor&) = delete;
38
- FileDescriptor& operator=(const FileDescriptor&) = delete;
39
- FileDescriptor(FileDescriptor&& other) noexcept: fd(other.fd)
40
- {
41
- other.fd = -1; // prevent double close
42
- }
43
- FileDescriptor& operator=(FileDescriptor&& other) noexcept
44
- {
45
- if (this != &other) {
46
- if (fd >= 0) {
47
- close(fd); // close current fd
48
- }
49
- fd = other.fd;
50
- other.fd = -1; // prevent double close
51
- }
52
- return *this;
53
- }
54
-
55
- static std::expected<FileDescriptor, Errno> socket(int domain, int type, int protocol)
56
- {
57
- if (int fd = ::socket(domain, type, protocol) < 0) {
58
- return std::unexpected {errno};
59
- } else {
60
- return FileDescriptor(fd);
61
- }
62
- }
63
-
64
- static std::expected<FileDescriptor, Errno> eventfd(int initval, int flags)
65
- {
66
- if (int fd = ::eventfd(initval, flags) < 0) {
67
- return std::unexpected {errno};
68
- } else {
69
- return FileDescriptor(fd);
70
- }
71
- }
72
-
73
- static std::expected<FileDescriptor, Errno> timerfd(clockid_t clock, int flags)
74
- {
75
- if (int fd = ::timerfd_create(clock, flags) < 0) {
76
- return std::unexpected {errno};
77
- } else {
78
- return FileDescriptor(fd);
79
- }
80
- }
81
-
82
- static std::expected<FileDescriptor, Errno> epollfd()
83
- {
84
- if (int fd = ::epoll_create1(0) < 0) {
85
- return std::unexpected {errno};
86
- } else {
87
- return FileDescriptor(fd);
88
- }
89
- }
90
-
91
- std::optional<Errno> listen(int backlog)
92
- {
93
- if (::listen(fd, backlog) < 0) {
94
- return errno;
95
- } else {
96
- return std::nullopt;
97
- }
98
- }
99
-
100
- std::expected<FileDescriptor, Errno> accept(sockaddr& addr, socklen_t& addrlen)
101
- {
102
- if (auto fd2 = ::accept(fd, &addr, &addrlen) < 0) {
103
- return std::unexpected {errno};
104
- } else {
105
- return FileDescriptor(fd2);
106
- }
107
- }
108
-
109
- std::optional<Errno> connect(const sockaddr& addr, socklen_t addrlen)
110
- {
111
- if (::connect(fd, &addr, addrlen) < 0) {
112
- return errno;
113
- } else {
114
- return std::nullopt;
115
- }
116
- }
117
-
118
- std::optional<Errno> bind(const sockaddr& addr, socklen_t addrlen)
119
- {
120
- if (::bind(fd, &addr, addrlen) < 0) {
121
- return errno;
122
- } else {
123
- return std::nullopt;
124
- }
125
- }
126
-
127
- std::expected<ssize_t, Errno> read(void* buf, size_t count)
128
- {
129
- ssize_t n = ::read(fd, buf, count);
130
- if (n < 0) {
131
- return std::unexpected {errno};
132
- } else {
133
- return n;
134
- }
135
- }
136
-
137
- std::expected<ssize_t, Errno> write(const void* buf, size_t count)
138
- {
139
- ssize_t n = ::write(fd, buf, count);
140
- if (n < 0) {
141
- return std::unexpected {errno};
142
- } else {
143
- return n;
144
- }
145
- }
146
-
147
- std::optional<Errno> eventfd_signal()
148
- {
149
- uint64_t u = 1;
150
- if (::eventfd_write(fd, u) < 0) {
151
- return errno;
152
- } else {
153
- return std::nullopt;
154
- }
155
- }
156
-
157
- std::optional<Errno> eventfd_wait()
158
- {
159
- uint64_t u;
160
- if (::eventfd_read(fd, &u) < 0) {
161
- return errno;
162
- } else {
163
- return std::nullopt;
164
- }
165
- }
166
-
167
- std::optional<Errno> timerfd_settime(const itimerspec& new_value, itimerspec* old_value = nullptr)
168
- {
169
- if (::timerfd_settime(fd, 0, &new_value, old_value) < 0) {
170
- return errno;
171
- } else {
172
- return std::nullopt;
173
- }
174
- }
175
-
176
- std::optional<Errno> timerfd_wait()
177
- {
178
- uint64_t u;
179
- if (::read(fd, &u, sizeof(u)) < 0) {
180
- return errno;
181
- } else {
182
- return std::nullopt;
183
- }
184
- }
185
-
186
- std::optional<Errno> epoll_ctl(int op, FileDescriptor& other, epoll_event* event)
187
- {
188
- if (::epoll_ctl(fd, op, other.fd, event) < 0) {
189
- return errno;
190
- } else {
191
- return std::nullopt;
192
- }
193
- }
194
-
195
- std::expected<int, Errno> epoll_wait(epoll_event* events, int maxevents, int timeout)
196
- {
197
- if (auto n = ::epoll_wait(fd, events, maxevents, timeout) < 0) {
198
- return errno;
199
- } else {
200
- return n;
201
- }
202
- }
203
- };
@@ -1 +0,0 @@
1
- 1.12.7