vortexpy 4.3.9__tar.gz → 4.3.10__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.
Files changed (145) hide show
  1. {vortexpy-4.3.9 → vortexpy-4.3.10}/PKG-INFO +1 -1
  2. {vortexpy-4.3.9 → vortexpy-4.3.10}/pyproject.toml +1 -1
  3. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServer.py +9 -2
  4. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/__init__.py +1 -1
  5. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/PKG-INFO +1 -1
  6. {vortexpy-4.3.9 → vortexpy-4.3.10}/README.md +0 -0
  7. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/TwistedDeferredTimeout.py +0 -0
  8. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/__init__.py +0 -0
  9. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_http_upgraded_websocket_ping_client.py +0 -0
  10. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_http_upgraded_websocket_ping_server.py +0 -0
  11. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_http_upgraded_websocket_rpc_test_client.py +0 -0
  12. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_http_upgraded_websocket_rpc_test_server.py +0 -0
  13. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_websocket_rpc_test_client.py +0 -0
  14. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/run_websocket_rpc_test_server.py +0 -0
  15. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/setup_example_logging.py +0 -0
  16. {vortexpy-4.3.9 → vortexpy-4.3.10}/example/store_and_load_json.py +0 -0
  17. {vortexpy-4.3.9 → vortexpy-4.3.10}/setup.cfg +0 -0
  18. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/DataWrapTuple.py +0 -0
  19. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/DeferUtil.py +0 -0
  20. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/DeferUtil_test.py +0 -0
  21. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/Jsonable.py +0 -0
  22. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/MtlsAuthorizedClientRegistry.py +0 -0
  23. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/MtlsAuthorizedClientRegistry_test.py +0 -0
  24. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/MtlsServerSslOptions.py +0 -0
  25. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/Payload.py +0 -0
  26. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadEndpoint.py +0 -0
  27. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadEndpointTest.py +0 -0
  28. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadEnvelope.py +0 -0
  29. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadFilterKeys.py +0 -0
  30. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadIO.py +0 -0
  31. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadPriority.py +0 -0
  32. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadResponse.py +0 -0
  33. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadResponseTest.py +0 -0
  34. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadResponse_test.py +0 -0
  35. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PayloadTest.py +0 -0
  36. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/PerformTestActionTuple.py +0 -0
  37. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/SerialiseUtil.py +0 -0
  38. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/SerialiseUtil_test.py +0 -0
  39. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TestTuple.py +0 -0
  40. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/Tuple.py +0 -0
  41. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleAction.py +0 -0
  42. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleBson.py +0 -0
  43. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleBson_test.py +0 -0
  44. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleDataForTest.py +0 -0
  45. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleDocumentConverter.py +0 -0
  46. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TuplePerfTest.py +0 -0
  47. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TuplePolymorphicTupleTypeFieldArgTest.py +0 -0
  48. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleRestful.py +0 -0
  49. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleRestful_test.py +0 -0
  50. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleSelector.py +0 -0
  51. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/TupleTest.py +0 -0
  52. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexABC.py +0 -0
  53. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexAccessControlContextABC.py +0 -0
  54. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexAuthenticatorABC.py +0 -0
  55. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexClientHttp.py +0 -0
  56. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexClientHttpTest.py +0 -0
  57. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexClientTcp.py +0 -0
  58. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexClientWebsocketFactory.py +0 -0
  59. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexConnectionABC.py +0 -0
  60. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexEndpointPermission.py +0 -0
  61. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexFactory.py +0 -0
  62. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexFactory_test.py +0 -0
  63. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexPayloadProtocol.py +0 -0
  64. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexPermission.py +0 -0
  65. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexPermissionError.py +0 -0
  66. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerConnection.py +0 -0
  67. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerConnection_test.py +0 -0
  68. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerHttpResource.py +0 -0
  69. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerTcp.py +0 -0
  70. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerWebsocket.py +0 -0
  71. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServerWebsocket_test.py +0 -0
  72. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexServer_test.py +0 -0
  73. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexSession.py +0 -0
  74. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexSession_test.py +0 -0
  75. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexTcpMemoryLeakPayloadTest.py +0 -0
  76. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexTcpMemoryLeakRawTest.py +0 -0
  77. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexTest.py +0 -0
  78. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexUtil.py +0 -0
  79. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexWritePushProducer.py +0 -0
  80. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/VortexWritePushProducer_test.py +0 -0
  81. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/TupleDataLiveLockManager.py +0 -0
  82. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/TupleDataLoader.py +0 -0
  83. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/TupleDataLoaderDelegate.py +0 -0
  84. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/TupleDataLoaderTupleABC.py +0 -0
  85. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/TupleDataLoaderTuples.py +0 -0
  86. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/data_loader/__init__.py +0 -0
  87. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/event_bus/TupleChangeEventABC.py +0 -0
  88. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/event_bus/TupleChangeEventBus.py +0 -0
  89. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/event_bus/TupleChangeEventBusObserverABC.py +0 -0
  90. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/event_bus/__init__.py +0 -0
  91. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionProcessor.py +0 -0
  92. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionProcessorProxy.py +0 -0
  93. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionProcessorTestHandler.py +0 -0
  94. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionProcessor_shutdown_test.py +0 -0
  95. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionPushOffline.py +0 -0
  96. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleActionPushOffline_test.py +0 -0
  97. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataAccessGranterABC.py +0 -0
  98. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataActionClient.py +0 -0
  99. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableCache.py +0 -0
  100. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableCache_test.py +0 -0
  101. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableHandler.py +0 -0
  102. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableHandler_test.py +0 -0
  103. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableProxyHandler.py +0 -0
  104. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableProxyHandler_test.py +0 -0
  105. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObservableTestHandler.py +0 -0
  106. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataObserverClient.py +0 -0
  107. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/TupleDataProviderABC.py +0 -0
  108. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/VortexJSTupleLoaderTestHandler.py +0 -0
  109. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/handler/__init__.py +0 -0
  110. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/mypy_plugin.py +0 -0
  111. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/payload_many_tuples_benchmark_test.py +0 -0
  112. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/py.typed +0 -0
  113. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/GzippedDataHttpClient.py +0 -0
  114. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/GzippedDataHttpClientTest.py +0 -0
  115. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/GzippedPayloadHttpClient.py +0 -0
  116. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/RestfulHttpClient.py +0 -0
  117. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/RestfulResource.py +0 -0
  118. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/__init__.py +0 -0
  119. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/restful_http_client_test.py +0 -0
  120. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/restful/restful_resource_test.py +0 -0
  121. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/rpc/RPC.py +0 -0
  122. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/rpc/RPCTest.py +0 -0
  123. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/rpc/RPC_test.py +0 -0
  124. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/rpc/__init__.py +0 -0
  125. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/sqla_orm/OrmCrudHandler.py +0 -0
  126. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/sqla_orm/TupleProviderForDb.py +0 -0
  127. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/sqla_orm/VortexTupleJson.py +0 -0
  128. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/sqla_orm/__init__.py +0 -0
  129. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/storage/TupleActionStorageSqlite.py +0 -0
  130. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/storage/TupleStorageSqlite.py +0 -0
  131. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/storage/__init__.py +0 -0
  132. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/__init__.py +0 -0
  133. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/constants.py +0 -0
  134. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/json_schema_node_tuple.py +0 -0
  135. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/tuple_json_schema_builder.py +0 -0
  136. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/tuple_json_schema_test.py +0 -0
  137. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_json_schema/tuple_json_schema_test_tuples.py +0 -0
  138. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/tuple_test_fixtures.py +0 -0
  139. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/twisted_runtime_metrics.py +0 -0
  140. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortex/twisted_runtime_metrics_test.py +0 -0
  141. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/SOURCES.txt +0 -0
  142. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/dependency_links.txt +0 -0
  143. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/entry_points.txt +0 -0
  144. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/requires.txt +0 -0
  145. {vortexpy-4.3.9 → vortexpy-4.3.10}/vortexpy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortexpy
3
- Version: 4.3.9
3
+ Version: 4.3.10
4
4
  Summary: Flying Ion's observable, routable, data serialisation and transport code.
5
5
  Author-email: Flying Ion Pty Ltd <contact@flyingion.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vortexpy"
7
- version = "4.3.9"
7
+ version = "4.3.10"
8
8
  license = {text = "MIT"}
9
9
  authors = [{name = "Flying Ion Pty Ltd", email = "contact@flyingion.com"}]
10
10
  description = "Flying Ion's observable, routable, data serialisation and transport code."
@@ -43,7 +43,10 @@ VortexServer
43
43
  """
44
44
 
45
45
  HEART_BEAT_PERIOD = 10.0
46
- HEART_BEAT_TIMEOUT = 60.0
46
+ # Browser background-tab timer throttling (Chrome intensive wake-up throttling)
47
+ # can reduce a hidden tab's client heartbeats to one per minute; 75s gives one
48
+ # full missed-beat margin over that 60s cadence before the connection is closed.
49
+ HEART_BEAT_TIMEOUT = 75.0
47
50
 
48
51
 
49
52
  class VortexServer(VortexABC):
@@ -362,7 +365,11 @@ class VortexSessionI(Interface):
362
365
  @implementer(VortexSessionI)
363
366
  class VortexSession(object):
364
367
  def __init__(self, session):
365
- session.sessionTimeout = HEART_BEAT_TIMEOUT
368
+ # Never shorten a configured session timeout: the heartbeat floor
369
+ # applies only when the app (or Twisted default) allows less.
370
+ # Shortening here expires active operator sessions when browser
371
+ # background-tab timer throttling delays heartbeats past 60s.
372
+ session.sessionTimeout = max(session.sessionTimeout, HEART_BEAT_TIMEOUT)
366
373
  self.connections = {}
367
374
 
368
375
 
@@ -6,4 +6,4 @@
6
6
  # Website : https://flyingion.com
7
7
  # Support : contact@flyingion.com
8
8
 
9
- __version__ = '4.3.9'
9
+ __version__ = '4.3.10'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortexpy
3
- Version: 4.3.9
3
+ Version: 4.3.10
4
4
  Summary: Flying Ion's observable, routable, data serialisation and transport code.
5
5
  Author-email: Flying Ion Pty Ltd <contact@flyingion.com>
6
6
  License: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes