opengris-scaler 1.12.12__tar.gz → 1.12.13__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 (351) hide show
  1. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/PKG-INFO +3 -3
  2. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/pyproject.toml +2 -2
  3. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/scheduler.py +4 -4
  4. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/epoll_context.cpp +1 -1
  5. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/event_loop_thread.h +6 -0
  6. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/io_context.cpp +2 -3
  7. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/io_socket.cpp +7 -8
  8. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/message_connection_tcp.cpp +3 -0
  9. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/message_connection_tcp.h +3 -2
  10. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/io_context.h +5 -4
  11. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/io_socket.h +26 -16
  12. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/ymq.h +9 -9
  13. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/object_storage_server.h +0 -2
  14. opengris_scaler-1.12.13/scaler/version.txt +1 -0
  15. opengris_scaler-1.12.12/scaler/version.txt +0 -1
  16. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.clang-format +0 -0
  17. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/3rd-party-libraries-compile/action.yml +0 -0
  18. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/3rd-party-libraries-download/action.yml +0 -0
  19. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/3rd-party-libraries-install/action.yml +0 -0
  20. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/compile-libraries/action.yml +0 -0
  21. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/create-artifacts/action.yml +0 -0
  22. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/harden-check/action.yml +0 -0
  23. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/publish-doc/action.yml +0 -0
  24. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/run-linter/action.yml +0 -0
  25. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/run-test/action.yml +0 -0
  26. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/actions/setup-env/action.yml +0 -0
  27. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/dependabot.yml +0 -0
  28. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/build-and-test.yml +0 -0
  29. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/codeql.yml +0 -0
  30. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/dependency-review.yml +0 -0
  31. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/publish-artifact.yml +0 -0
  32. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/publish-documentation.yml +0 -0
  33. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.github/workflows/scorecard.yml +0 -0
  34. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/.gitignore +0 -0
  35. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/CMakeLists.txt +0 -0
  36. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/CMakePresets.json +0 -0
  37. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/CONTRIBUTING.md +0 -0
  38. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/LICENSE +0 -0
  39. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/LICENSE.spdx +0 -0
  40. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/NOTICE +0 -0
  41. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/README.md +0 -0
  42. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/benchmarks/dask_local_test.py +0 -0
  43. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/benchmarks/dask_remote_test.py +0 -0
  44. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/benchmarks/scaler_test.py +0 -0
  45. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/.gitignore +0 -0
  46. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/Makefile +0 -0
  47. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/make.bat +0 -0
  48. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/requirements_docs.txt +0 -0
  49. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/_static/style.css +0 -0
  50. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/_templates/layout.html +0 -0
  51. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/conf.py +0 -0
  52. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/index.rst +0 -0
  53. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/configuration.rst +0 -0
  54. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/development.rst +0 -0
  55. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/examples.rst +0 -0
  56. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/features.rst +0 -0
  57. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/images/architecture.png +0 -0
  58. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/docs/source/tutorials/quickstart.rst +0 -0
  59. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/downloaded/capnproto-c++-1.1.0.tar.gz +0 -0
  60. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/CMakeLists.txt +0 -0
  61. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/downloaded_data.csv +0 -0
  62. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/implied_volatility.py +0 -0
  63. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/pillow.py +0 -0
  64. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/requirements_applications.txt +0 -0
  65. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/timeseries.py +0 -0
  66. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/applications/yfinance_historical_price.py +0 -0
  67. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/CMakeLists.txt +0 -0
  68. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/CMakeLists.txt +0 -0
  69. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/automated_echo_client.cpp +0 -0
  70. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/echo_client.cpp +0 -0
  71. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/echo_server.cpp +0 -0
  72. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/pingpong.cpp +0 -0
  73. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/pub_server.cpp +0 -0
  74. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/remove_iosocket.cpp +0 -0
  75. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/sub_client.cpp +0 -0
  76. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/cpp/ymq/timestamp.cpp +0 -0
  77. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/disconnect_client.py +0 -0
  78. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/graphtask_client.py +0 -0
  79. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/graphtask_nested_client.py +0 -0
  80. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/images/cat_1.jpg +0 -0
  81. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/images/cat_2.jpg +0 -0
  82. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/map_client.py +0 -0
  83. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/nested_client.py +0 -0
  84. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/readme.md +0 -0
  85. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/send_object_client.py +0 -0
  86. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/simple_client.py +0 -0
  87. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/examples/task_capabilities.py +0 -0
  88. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/renovate.json +0 -0
  89. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_cluster.py +0 -0
  90. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_object_storage_server.py +0 -0
  91. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_scheduler.py +0 -0
  92. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_top.py +0 -0
  93. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_webui.py +0 -0
  94. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_worker_adapter_native.py +0 -0
  95. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/run_worker_adapter_symphony.py +0 -0
  96. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/CMakeLists.txt +0 -0
  97. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/__init__.py +0 -0
  98. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/about.py +0 -0
  99. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/__init__.py +0 -0
  100. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/__init__.py +0 -0
  101. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/client_agent.py +0 -0
  102. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/disconnect_manager.py +0 -0
  103. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/future_manager.py +0 -0
  104. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/heartbeat_manager.py +0 -0
  105. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/mixins.py +0 -0
  106. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/object_manager.py +0 -0
  107. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/agent/task_manager.py +0 -0
  108. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/client.py +0 -0
  109. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/future.py +0 -0
  110. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/object_buffer.py +0 -0
  111. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/object_reference.py +0 -0
  112. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/serializer/__init__.py +0 -0
  113. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/serializer/default.py +0 -0
  114. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/client/serializer/mixins.py +0 -0
  115. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/cluster/__init__.py +0 -0
  116. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/cluster/cluster.py +0 -0
  117. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/cluster/combo.py +0 -0
  118. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/cluster/object_storage_server.py +0 -0
  119. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/cluster/scheduler.py +0 -0
  120. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/__init__.py +0 -0
  121. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/defaults.py +0 -0
  122. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/loader.py +0 -0
  123. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/mixins.py +0 -0
  124. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/__init__.py +0 -0
  125. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/cluster.py +0 -0
  126. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/native_worker_adapter.py +0 -0
  127. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/object_storage_server.py +0 -0
  128. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/scheduler.py +0 -0
  129. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/symphony_worker_adapter.py +0 -0
  130. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/top.py +0 -0
  131. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/section/webui.py +0 -0
  132. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/types/__init__.py +0 -0
  133. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/types/object_storage_server.py +0 -0
  134. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/types/worker.py +0 -0
  135. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/config/types/zmq.py +0 -0
  136. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/__init__.py +0 -0
  137. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/cluster.py +0 -0
  138. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/object_storage_server.py +0 -0
  139. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/top.py +0 -0
  140. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/webui.py +0 -0
  141. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/worker_adapter_native.py +0 -0
  142. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/entry_points/worker_adapter_symphony.py +0 -0
  143. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/__init__.py +0 -0
  144. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/async_binder.py +0 -0
  145. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/async_connector.py +0 -0
  146. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/async_object_storage_connector.py +0 -0
  147. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/mixins.py +0 -0
  148. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/sync_connector.py +0 -0
  149. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/sync_object_storage_connector.py +0 -0
  150. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/sync_subscriber.py +0 -0
  151. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/utility.py +0 -0
  152. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/CMakeLists.txt +0 -0
  153. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/__init__.py +0 -0
  154. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/_ymq.pyi +0 -0
  155. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/bytes.h +0 -0
  156. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/common.h +0 -0
  157. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/configuration.h +0 -0
  158. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/epoll_context.h +0 -0
  159. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/error.h +0 -0
  160. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/event_loop.h +0 -0
  161. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/event_loop_thread.cpp +0 -0
  162. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/event_manager.h +0 -0
  163. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/interruptive_concurrent_queue.h +0 -0
  164. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/io_context.h +0 -0
  165. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/io_socket.h +0 -0
  166. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/iocp_context.cpp +0 -0
  167. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/iocp_context.h +0 -0
  168. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/logging.h +0 -0
  169. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/message.h +0 -0
  170. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/message_connection.h +0 -0
  171. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/network_utils.h +0 -0
  172. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/bytes.h +0 -0
  173. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/exception.h +0 -0
  174. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/gil.h +0 -0
  175. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/message.h +0 -0
  176. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/python.h +0 -0
  177. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/pymod_ymq/ymq.cpp +0 -0
  178. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/readme.md +0 -0
  179. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/simple_interface.cpp +0 -0
  180. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/simple_interface.h +0 -0
  181. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/tcp_client.cpp +0 -0
  182. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/tcp_client.h +0 -0
  183. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/tcp_operations.h +0 -0
  184. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/tcp_server.cpp +0 -0
  185. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/tcp_server.h +0 -0
  186. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/third_party/concurrentqueue.h +0 -0
  187. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/timed_queue.h +0 -0
  188. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/timestamp.h +0 -0
  189. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/typedefs.h +0 -0
  190. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/utils.h +0 -0
  191. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/io/ymq/ymq.py +0 -0
  192. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/CMakeLists.txt +0 -0
  193. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/__init__.py +0 -0
  194. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/constants.h +0 -0
  195. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/defs.h +0 -0
  196. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/io_helper.cpp +0 -0
  197. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/io_helper.h +0 -0
  198. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/message.cpp +0 -0
  199. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/message.h +0 -0
  200. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/object_manager.cpp +0 -0
  201. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/object_manager.h +0 -0
  202. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/object_storage_server.cpp +0 -0
  203. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/object_storage/pymod_object_storage_server.cpp +0 -0
  204. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/__init__.py +0 -0
  205. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/__init__.py +0 -0
  206. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/_python.py +0 -0
  207. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/common.capnp +0 -0
  208. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/message.capnp +0 -0
  209. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/object_storage.capnp +0 -0
  210. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/capnp/status.capnp +0 -0
  211. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/introduction.md +0 -0
  212. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/__init__.py +0 -0
  213. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/common.py +0 -0
  214. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/message.py +0 -0
  215. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/mixins.py +0 -0
  216. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/object_storage.py +0 -0
  217. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/python/status.py +0 -0
  218. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/protocol/worker.md +0 -0
  219. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/__init__.py +0 -0
  220. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/allocate_policy/__init__.py +0 -0
  221. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/allocate_policy/allocate_policy.py +0 -0
  222. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/allocate_policy/capability_allocate_policy.py +0 -0
  223. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/allocate_policy/even_load_allocate_policy.py +0 -0
  224. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/allocate_policy/mixins.py +0 -0
  225. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/__init__.py +0 -0
  226. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/balance_controller.py +0 -0
  227. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/client_controller.py +0 -0
  228. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/config_controller.py +0 -0
  229. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/graph_controller.py +0 -0
  230. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/information_controller.py +0 -0
  231. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/mixins.py +0 -0
  232. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/object_controller.py +0 -0
  233. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/scaling_controller.py +0 -0
  234. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/task_controller.py +0 -0
  235. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/controllers/worker_controller.py +0 -0
  236. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/object_usage/__init__.py +0 -0
  237. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/object_usage/object_tracker.py +0 -0
  238. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/scheduler.py +0 -0
  239. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/task/__init__.py +0 -0
  240. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/task/task_state_machine.py +0 -0
  241. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/scheduler/task/task_state_manager.py +0 -0
  242. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/__init__.py +0 -0
  243. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/constants.py +0 -0
  244. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/live_display.py +0 -0
  245. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/memory_window.py +0 -0
  246. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/setting_page.py +0 -0
  247. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/task_graph.py +0 -0
  248. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/task_log.py +0 -0
  249. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/utility.py +0 -0
  250. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/webui.py +0 -0
  251. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/ui/worker_processors.py +0 -0
  252. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/__init__.py +0 -0
  253. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/debug.py +0 -0
  254. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/event_list.py +0 -0
  255. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/event_loop.py +0 -0
  256. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/exceptions.py +0 -0
  257. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/formatter.py +0 -0
  258. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/graph/__init__.py +0 -0
  259. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/graph/optimization.py +0 -0
  260. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/graph/topological_sorter.py +0 -0
  261. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/graph/topological_sorter_graphblas.py +0 -0
  262. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/identifiers.py +0 -0
  263. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/logging/__init__.py +0 -0
  264. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/logging/decorators.py +0 -0
  265. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/logging/scoped_logger.py +0 -0
  266. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/logging/utility.py +0 -0
  267. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/many_to_many_dict.py +0 -0
  268. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/metadata/__init__.py +0 -0
  269. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/metadata/profile_result.py +0 -0
  270. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/metadata/task_flags.py +0 -0
  271. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/mixins.py +0 -0
  272. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/network_util.py +0 -0
  273. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/one_to_many_dict.py +0 -0
  274. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/queues/__init__.py +0 -0
  275. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/queues/async_indexed_queue.py +0 -0
  276. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/queues/async_priority_queue.py +0 -0
  277. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/queues/async_sorted_priority_queue.py +0 -0
  278. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/queues/indexed_queue.py +0 -0
  279. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/utility/serialization.py +0 -0
  280. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/__init__.py +0 -0
  281. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/__init__.py +0 -0
  282. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/heartbeat_manager.py +0 -0
  283. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/mixins.py +0 -0
  284. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor/__init__.py +0 -0
  285. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor/object_cache.py +0 -0
  286. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor/processor.py +0 -0
  287. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor/streaming_buffer.py +0 -0
  288. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor_holder.py +0 -0
  289. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/processor_manager.py +0 -0
  290. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/profiling_manager.py +0 -0
  291. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/task_manager.py +0 -0
  292. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/agent/timeout_manager.py +0 -0
  293. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/preload.py +0 -0
  294. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker/worker.py +0 -0
  295. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/__init__.py +0 -0
  296. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/native.py +0 -0
  297. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/__init__.py +0 -0
  298. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/callback.py +0 -0
  299. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/heartbeat_manager.py +0 -0
  300. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/message.py +0 -0
  301. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/task_manager.py +0 -0
  302. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/worker.py +0 -0
  303. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scaler/worker_adapter/symphony/worker_adapter.py +0 -0
  304. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scripts/build.sh +0 -0
  305. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scripts/library_tool.ps1 +0 -0
  306. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scripts/library_tool.sh +0 -0
  307. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/scripts/test.sh +0 -0
  308. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/slides/Effortless Distributed Computing in Python - FOSDEM 2025.pdf +0 -0
  309. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/slides/OSFF 2025 London.pdf +0 -0
  310. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/CMakeLists.txt +0 -0
  311. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/__init__.py +0 -0
  312. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/CMakeLists.txt +0 -0
  313. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/object_storage/CMakeLists.txt +0 -0
  314. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/object_storage/test_object_manager.cpp +0 -0
  315. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/object_storage/test_object_storage_server.cpp +0 -0
  316. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/CMakeLists.txt +0 -0
  317. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/common.h +0 -0
  318. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/__init__.py +0 -0
  319. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/main.py +0 -0
  320. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/passthrough.py +0 -0
  321. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/randomly_drop_packets.py +0 -0
  322. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/send_rst_to_client.py +0 -0
  323. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/py_mitm/types.py +0 -0
  324. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/cpp/ymq/test_ymq.cpp +0 -0
  325. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/io/ymq/CMakeLists.txt +0 -0
  326. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/io/ymq/test_logging.cpp +0 -0
  327. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_async_indexed_queue.py +0 -0
  328. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_async_priority_queue.py +0 -0
  329. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_async_sorted_priority_queue.py +0 -0
  330. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_balance.py +0 -0
  331. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_capabilities.py +0 -0
  332. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_capability_allocate_policy.py +0 -0
  333. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_client.py +0 -0
  334. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_cluster.py +0 -0
  335. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_cluster_config.py +0 -0
  336. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_cluster_disconnect.py +0 -0
  337. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_config_types.py +0 -0
  338. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_death_timeout.py +0 -0
  339. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_future.py +0 -0
  340. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_graph.py +0 -0
  341. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_indexed_queue.py +0 -0
  342. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_nested_task.py +0 -0
  343. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_object_usage.py +0 -0
  344. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_profiling.py +0 -0
  345. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_protected.py +0 -0
  346. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_scaling.py +0 -0
  347. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_scheduler_config.py +0 -0
  348. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_serializer.py +0 -0
  349. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/test_ui.py +0 -0
  350. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/tests/utility.py +0 -0
  351. {opengris_scaler-1.12.12 → opengris_scaler-1.12.13}/version.h.in +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: opengris-scaler
3
- Version: 1.12.12
3
+ Version: 1.12.13
4
4
  Summary: OpenGRIS Scaler Distribution Framework
5
5
  Author-Email: Citi <opensource@citi.com>
6
6
  License: Apache 2.0
@@ -25,7 +25,7 @@ Provides-Extra: uvloop
25
25
  Requires-Dist: uvloop; platform_system != "Windows" and extra == "uvloop"
26
26
  Provides-Extra: gui
27
27
  Requires-Dist: nicegui[plotly]==2.24.2; python_version == "3.8" and extra == "gui"
28
- Requires-Dist: nicegui[plotly]==3.0.3; python_version >= "3.9" and extra == "gui"
28
+ Requires-Dist: nicegui[plotly]==3.0.4; python_version >= "3.9" and extra == "gui"
29
29
  Provides-Extra: graphblas
30
30
  Requires-Dist: python-graphblas; extra == "graphblas"
31
31
  Requires-Dist: numpy==1.24.4; python_version == "3.8" and extra == "graphblas"
@@ -33,7 +33,7 @@ Requires-Dist: numpy==2.0.2; python_version == "3.9" and extra == "graphblas"
33
33
  Requires-Dist: numpy==2.2.6; python_version >= "3.10" and extra == "graphblas"
34
34
  Provides-Extra: all
35
35
  Requires-Dist: nicegui[plotly]==2.24.2; python_version == "3.8" and extra == "all"
36
- Requires-Dist: nicegui[plotly]==3.0.3; python_version >= "3.9" and extra == "all"
36
+ Requires-Dist: nicegui[plotly]==3.0.4; python_version >= "3.9" and extra == "all"
37
37
  Requires-Dist: python-graphblas; extra == "all"
38
38
  Requires-Dist: numpy==1.24.4; python_version == "3.8" and extra == "all"
39
39
  Requires-Dist: numpy==2.0.2; python_version == "3.9" and extra == "all"
@@ -36,7 +36,7 @@ uvloop = [
36
36
  ]
37
37
  gui = [
38
38
  "nicegui[plotly]==2.24.2; python_version == '3.8'",
39
- "nicegui[plotly]==3.0.3; python_version >= '3.9'",
39
+ "nicegui[plotly]==3.0.4; python_version >= '3.9'",
40
40
  ]
41
41
  graphblas = [
42
42
  "python-graphblas",
@@ -46,7 +46,7 @@ graphblas = [
46
46
  ]
47
47
  all = [
48
48
  "nicegui[plotly]==2.24.2; python_version == '3.8'",
49
- "nicegui[plotly]==3.0.3; python_version >= '3.9'",
49
+ "nicegui[plotly]==3.0.4; python_version >= '3.9'",
50
50
  "python-graphblas",
51
51
  "numpy==1.24.4; python_version == '3.8'",
52
52
  "numpy==2.0.2; python_version == '3.9'",
@@ -93,7 +93,10 @@ def main():
93
93
 
94
94
  scheduler_config = load_config(SchedulerConfig, args.config, args, section_name="scheduler")
95
95
 
96
- if args.object_storage_address is None:
96
+ object_storage_address = scheduler_config.object_storage_address
97
+ object_storage = None
98
+
99
+ if object_storage_address is None:
97
100
  object_storage_address = ObjectStorageConfig(
98
101
  host=scheduler_config.scheduler_address.host, port=get_available_tcp_port()
99
102
  )
@@ -105,9 +108,6 @@ def main():
105
108
  )
106
109
  object_storage.start()
107
110
  object_storage.wait_until_ready() # object storage should be ready before starting the cluster
108
- else:
109
- object_storage_address = scheduler_config.object_storage_address
110
- object_storage = None
111
111
 
112
112
  scheduler = SchedulerProcess(
113
113
  address=scheduler_config.scheduler_address,
@@ -41,7 +41,7 @@ void EpollContext::loop()
41
41
  // todo: investigate better error handling
42
42
  // the epoll thread is not expected to receive signals(?)
43
43
  // but occasionally does (e.g. sigwinch) and we shouldn't stop the thread in that case
44
- break;
44
+ return;
45
45
  case EBADF:
46
46
  case EFAULT:
47
47
  case EINVAL:
@@ -38,6 +38,12 @@ public:
38
38
  EventLoopThread& operator=(const EventLoopThread&) = delete;
39
39
  EventLoopThread() = default;
40
40
 
41
+ void tryJoin()
42
+ {
43
+ if (thread.joinable())
44
+ thread.join();
45
+ }
46
+
41
47
  private:
42
48
  std::jthread thread;
43
49
  };
@@ -76,15 +76,14 @@ void IOContext::removeIOSocket(std::shared_ptr<IOSocket>& socket) noexcept
76
76
  }
77
77
  }
78
78
  if (id != -1) {
79
- assert(_threads[id].use_count() == 1);
79
+ _threads[id]->tryJoin();
80
80
  _threads[id] = std::make_shared<EventLoopThread>();
81
81
  }
82
82
  }
83
83
 
84
84
  void IOContext::requestIOSocketStop(std::shared_ptr<IOSocket> socket) noexcept
85
85
  {
86
- socket->_eventLoopThread->_eventLoop.executeNow(
87
- [socket] { socket->_eventLoopThread->_eventLoop.executeLater([socket] { socket->requestStop(); }); });
86
+ socket->_eventLoopThread->_eventLoop.executeNow([socket] { socket->requestStop(); });
88
87
  }
89
88
 
90
89
  IOContext::~IOContext() noexcept
@@ -145,14 +145,11 @@ void IOSocket::bindTo(std::string networkAddress, BindReturnCallback onBindRetur
145
145
  void IOSocket::closeConnection(Identity remoteSocketIdentity) noexcept
146
146
  {
147
147
  _eventLoopThread->_eventLoop.executeNow([this, remoteIdentity = std::move(remoteSocketIdentity)] {
148
- _eventLoopThread->_eventLoop.executeLater([this, remoteIdentity = std::move(remoteIdentity)] {
149
- if (_stopped) {
150
- return;
151
- }
152
- // _identityToConnection.erase(remoteIdentity);
153
- if (_identityToConnection.contains(remoteIdentity))
154
- _identityToConnection[remoteIdentity]->disconnect();
155
- });
148
+ if (_stopped) {
149
+ return;
150
+ }
151
+ if (_identityToConnection.contains(remoteIdentity))
152
+ _identityToConnection[remoteIdentity]->disconnect();
156
153
  });
157
154
  }
158
155
 
@@ -179,6 +176,7 @@ void IOSocket::onConnectionDisconnected(MessageConnectionTCP* conn, bool keepInB
179
176
  this->_pendingRecvMessages->pop();
180
177
  }
181
178
  }
179
+ _eventLoopThread->_eventLoop.executeLater([conn = std::move(connPtr)]() {});
182
180
  _unestablishedConnection.pop_back();
183
181
  return;
184
182
  }
@@ -244,6 +242,7 @@ void IOSocket::onConnectionIdentityReceived(MessageConnectionTCP* conn) noexcept
244
242
  assert(targetConn->_receivedReadOperations.empty());
245
243
  targetConn->_receivedReadOperations = std::move((*c)->_receivedReadOperations);
246
244
 
245
+ assert((*c)->_connFd == 0);
247
246
  _unestablishedConnection.erase(c);
248
247
  }
249
248
 
@@ -321,6 +321,9 @@ void MessageConnectionTCP::onRead()
321
321
  return _remoteIOSocketIdentity;
322
322
  })
323
323
  .and_then([this, maybeCloseConn](const std::string&) -> std::optional<std::string> {
324
+ if (!_connFd) {
325
+ return _remoteIOSocketIdentity;
326
+ }
324
327
  auto _ = tryReadMessages()
325
328
  .or_else(maybeCloseConn) //
326
329
  .and_then([this]() -> std::expected<void, IOError> {
@@ -62,8 +62,9 @@ private:
62
62
  void onClose();
63
63
  void onError()
64
64
  {
65
- onRead();
66
- // onClose();
65
+ if (_connFd) {
66
+ onRead();
67
+ }
67
68
  };
68
69
 
69
70
  std::expected<void, IOError> tryReadOneMessage();
@@ -105,20 +105,21 @@ static PyObject* PyIOContext_createIOSocket(PyIOContext* self, PyObject* args, P
105
105
  if (!ioSocket)
106
106
  return nullptr;
107
107
 
108
- Py_INCREF(callback);
109
-
110
108
  try {
111
109
  // ensure the fields are init
112
110
  new (&ioSocket->socket) std::shared_ptr<IOSocket>();
113
111
  new (&ioSocket->ioContext) std::shared_ptr<IOContext>();
114
112
  ioSocket->ioContext = self->ioContext;
115
113
 
114
+ Py_INCREF(callback);
115
+
116
116
  self->ioContext->createIOSocket(
117
117
  std::string(identity, identityLen), socketType, [callback, ioSocket](auto socket) {
118
118
  AcquireGIL _;
119
119
 
120
- ioSocket->socket = socket;
121
- OwnedPyObject _result = PyObject_CallFunctionObjArgs(callback, *ioSocket, nullptr);
120
+ ioSocket->socket = socket;
121
+ OwnedPyObject _result = PyObject_CallFunctionObjArgs(callback, *ioSocket, nullptr);
122
+
122
123
  Py_DECREF(callback);
123
124
  });
124
125
  } catch (...) {
@@ -57,8 +57,8 @@ static PyObject* PyIOSocket_send(PyIOSocket* self, PyObject* args, PyObject* kwa
57
57
  if (!state)
58
58
  return nullptr;
59
59
 
60
- PyObject* callback = nullptr;
61
- PyMessage* message = nullptr;
60
+ PyObject* callback = nullptr;
61
+ PyMessage* message = nullptr;
62
62
 
63
63
  // empty str -> positional only
64
64
  const char* kwlist[] = {"", "message", nullptr};
@@ -73,9 +73,9 @@ static PyObject* PyIOSocket_send(PyIOSocket* self, PyObject* args, PyObject* kwa
73
73
  auto address = message->address.is_none() ? Bytes() : std::move(message->address->bytes);
74
74
  auto payload = std::move(message->payload->bytes);
75
75
 
76
- Py_INCREF(callback);
77
-
78
76
  try {
77
+ Py_INCREF(callback);
78
+
79
79
  self->socket->sendMessage(
80
80
  {.address = std::move(address), .payload = std::move(payload)}, [callback, state](auto result) {
81
81
  AcquireGIL _;
@@ -108,35 +108,45 @@ static PyObject* PyIOSocket_recv(PyIOSocket* self, PyObject* args, PyObject* kwa
108
108
  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O", (char**)kwlist, &callback))
109
109
  return nullptr;
110
110
 
111
- Py_INCREF(callback);
112
-
113
111
  try {
112
+ Py_INCREF(callback);
113
+
114
114
  self->socket->recvMessage([callback, state](std::pair<Message, Error> result) {
115
115
  AcquireGIL _;
116
116
 
117
117
  if (result.second._errorCode != Error::ErrorCode::Uninit) {
118
118
  OwnedPyObject obj = YMQException_createFromCoreError(state, &result.second);
119
119
  OwnedPyObject _ = PyObject_CallFunctionObjArgs(callback, *obj, nullptr);
120
+ Py_DECREF(callback);
120
121
  return;
121
122
  }
122
123
 
123
124
  auto message = result.first;
124
125
  OwnedPyObject<PyBytesYMQ> address = (PyBytesYMQ*)PyObject_CallNoArgs(*state->PyBytesYMQType);
125
- if (!address)
126
- return completeCallbackWithRaisedException(callback);
126
+ if (!address) {
127
+ completeCallbackWithRaisedException(callback);
128
+ Py_DECREF(callback);
129
+ return;
130
+ }
127
131
 
128
132
  address->bytes = std::move(message.address);
129
133
 
130
134
  OwnedPyObject<PyBytesYMQ> payload = (PyBytesYMQ*)PyObject_CallNoArgs(*state->PyBytesYMQType);
131
- if (!payload)
132
- return completeCallbackWithRaisedException(callback);
135
+ if (!payload) {
136
+ completeCallbackWithRaisedException(callback);
137
+ Py_DECREF(callback);
138
+ return;
139
+ }
133
140
 
134
141
  payload->bytes = std::move(message.payload);
135
142
 
136
143
  OwnedPyObject<PyMessage> pyMessage =
137
144
  (PyMessage*)PyObject_CallFunction(*state->PyMessageType, "OO", *address, *payload);
138
- if (!pyMessage)
139
- return completeCallbackWithRaisedException(callback);
145
+ if (!pyMessage) {
146
+ completeCallbackWithRaisedException(callback);
147
+ Py_DECREF(callback);
148
+ return;
149
+ }
140
150
 
141
151
  OwnedPyObject _result = PyObject_CallFunctionObjArgs(callback, *pyMessage, nullptr);
142
152
  Py_DECREF(callback);
@@ -162,9 +172,9 @@ static PyObject* PyIOSocket_bind(PyIOSocket* self, PyObject* args, PyObject* kwa
162
172
  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Os#", (char**)kwlist, &callback, &address, &addressLen))
163
173
  return nullptr;
164
174
 
165
- Py_INCREF(callback);
166
-
167
175
  try {
176
+ Py_INCREF(callback);
177
+
168
178
  self->socket->bindTo(std::string(address, addressLen), [callback, state](auto result) {
169
179
  AcquireGIL _;
170
180
 
@@ -198,9 +208,9 @@ static PyObject* PyIOSocket_connect(PyIOSocket* self, PyObject* args, PyObject*
198
208
  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Os#", (char**)kwlist, &callback, &address, &addressLen))
199
209
  return nullptr;
200
210
 
201
- Py_INCREF(callback);
202
-
203
211
  try {
212
+ Py_INCREF(callback);
213
+
204
214
  self->socket->connectTo(std::string(address, addressLen), [callback, state](auto result) {
205
215
  AcquireGIL _;
206
216
 
@@ -20,13 +20,13 @@ struct YMQState {
20
20
  OwnedPyObject<> enumModule; // Reference to the enum module
21
21
  OwnedPyObject<> asyncioModule; // Reference to the asyncio module
22
22
 
23
- OwnedPyObject<> PyIOSocketEnumType; // Reference to the IOSocketType enum
24
- OwnedPyObject<> PyErrorCodeType; // Reference to the Error enum
25
- OwnedPyObject<> PyBytesYMQType; // Reference to the PyBytesYMQ type
26
- OwnedPyObject<> PyMessageType; // Reference to the Message type
27
- OwnedPyObject<> PyIOSocketType; // Reference to the IOSocket type
28
- OwnedPyObject<> PyIOContextType; // Reference to the IOContext type
29
- OwnedPyObject<> PyExceptionType; // Reference to the Exception type
23
+ OwnedPyObject<> PyIOSocketEnumType; // Reference to the IOSocketType enum
24
+ OwnedPyObject<> PyErrorCodeType; // Reference to the Error enum
25
+ OwnedPyObject<> PyBytesYMQType; // Reference to the PyBytesYMQ type
26
+ OwnedPyObject<> PyMessageType; // Reference to the Message type
27
+ OwnedPyObject<> PyIOSocketType; // Reference to the IOSocket type
28
+ OwnedPyObject<> PyIOContextType; // Reference to the IOContext type
29
+ OwnedPyObject<> PyExceptionType; // Reference to the Exception type
30
30
  };
31
31
 
32
32
  static YMQState* YMQStateFromSelf(PyObject* self)
@@ -76,8 +76,8 @@ std::expected<PyObject*, PyObject*> YMQ_GetRaisedException()
76
76
 
77
77
  void completeCallbackWithRaisedException(PyObject* callback)
78
78
  {
79
- auto result = YMQ_GetRaisedException();
80
- OwnedPyObject _ =PyObject_CallFunctionObjArgs(callback, result.value_or(result.error()));
79
+ auto result = YMQ_GetRaisedException();
80
+ OwnedPyObject _ = PyObject_CallFunctionObjArgs(callback, result.value_or(result.error()), nullptr);
81
81
  }
82
82
 
83
83
  // First-Party
@@ -69,8 +69,6 @@ private:
69
69
 
70
70
  scaler::ymq::Logger _logger;
71
71
 
72
- std::atomic<bool> _stopped;
73
-
74
72
  std::vector<SendMessageFuture> _pendingSendMessageFuts;
75
73
 
76
74
  void initServerReadyFds();
@@ -0,0 +1 @@
1
+ 1.12.13
@@ -1 +0,0 @@
1
- 1.12.12