vortexpy 4.1.2__tar.gz → 4.1.3__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 (108) hide show
  1. {vortexpy-4.1.2 → vortexpy-4.1.3}/PKG-INFO +1 -1
  2. {vortexpy-4.1.2 → vortexpy-4.1.3}/pyproject.toml +1 -1
  3. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexFactory.py +1 -1
  4. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexServer.py +6 -4
  5. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexServerWebsocket.py +0 -7
  6. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/__init__.py +1 -1
  7. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortexpy.egg-info/PKG-INFO +1 -1
  8. {vortexpy-4.1.2 → vortexpy-4.1.3}/README.md +0 -0
  9. {vortexpy-4.1.2 → vortexpy-4.1.3}/setup.cfg +0 -0
  10. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/DataWrapTuple.py +0 -0
  11. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/DeferUtil.py +0 -0
  12. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/Jsonable.py +0 -0
  13. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/Payload.py +0 -0
  14. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadEndpoint.py +0 -0
  15. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadEndpointTest.py +0 -0
  16. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadEnvelope.py +0 -0
  17. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadFilterKeys.py +0 -0
  18. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadIO.py +0 -0
  19. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadPriority.py +0 -0
  20. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadResponse.py +0 -0
  21. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadResponseTest.py +0 -0
  22. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PayloadTest.py +0 -0
  23. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/PerformTestActionTuple.py +0 -0
  24. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/SerialiseUtil.py +0 -0
  25. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TestTuple.py +0 -0
  26. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/Tuple.py +0 -0
  27. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleAction.py +0 -0
  28. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleDataForTest.py +0 -0
  29. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TuplePerfTest.py +0 -0
  30. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TuplePolymorphicTupleTypeFieldArgTest.py +0 -0
  31. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleRestful.py +0 -0
  32. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleRestfulTest.py +0 -0
  33. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleSelector.py +0 -0
  34. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/TupleTest.py +0 -0
  35. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexABC.py +0 -0
  36. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexAccessControlContextABC.py +0 -0
  37. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexAuthenticatorABC.py +0 -0
  38. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexClientHttp.py +0 -0
  39. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexClientHttpTest.py +0 -0
  40. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexClientTcp.py +0 -0
  41. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexClientWebsocketFactory.py +0 -0
  42. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexConnectionABC.py +0 -0
  43. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexEndpointPermission.py +0 -0
  44. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexPayloadProtocol.py +0 -0
  45. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexPermission.py +0 -0
  46. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexPermissionError.py +0 -0
  47. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexServerConnection.py +0 -0
  48. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexServerHttpResource.py +0 -0
  49. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexServerTcp.py +0 -0
  50. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexSession.py +0 -0
  51. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexTcpMemoryLeakPayloadTest.py +0 -0
  52. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexTcpMemoryLeakRawTest.py +0 -0
  53. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexTest.py +0 -0
  54. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexUtil.py +0 -0
  55. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/VortexWritePushProducer.py +0 -0
  56. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/TupleDataLiveLockManager.py +0 -0
  57. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/TupleDataLoader.py +0 -0
  58. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/TupleDataLoaderDelegate.py +0 -0
  59. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/TupleDataLoaderTupleABC.py +0 -0
  60. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/TupleDataLoaderTuples.py +0 -0
  61. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/data_loader/__init__.py +0 -0
  62. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/event_bus/TupleChangeEventABC.py +0 -0
  63. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/event_bus/TupleChangeEventBus.py +0 -0
  64. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/event_bus/TupleChangeEventBusObserverABC.py +0 -0
  65. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/event_bus/__init__.py +0 -0
  66. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleActionProcessor.py +0 -0
  67. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleActionProcessorProxy.py +0 -0
  68. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleActionProcessorTestHandler.py +0 -0
  69. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataAccessGranterABC.py +0 -0
  70. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataActionClient.py +0 -0
  71. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataObservableCache.py +0 -0
  72. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataObservableHandler.py +0 -0
  73. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataObservableProxyHandler.py +0 -0
  74. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataObservableTestHandler.py +0 -0
  75. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataObserverClient.py +0 -0
  76. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/TupleDataProviderABC.py +0 -0
  77. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/VortexJSTupleLoaderTestHandler.py +0 -0
  78. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/handler/__init__.py +0 -0
  79. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/mypy_plugin.py +0 -0
  80. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/py.typed +0 -0
  81. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/GzippedDataHttpClient.py +0 -0
  82. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/GzippedDataHttpClientTest.py +0 -0
  83. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/GzippedPayloadHttpClient.py +0 -0
  84. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/RestfulHttpClient.py +0 -0
  85. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/RestfulHttpClientTest.py +0 -0
  86. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/RestfulResource.py +0 -0
  87. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/RestfulResourceTest.py +0 -0
  88. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/restful/__init__.py +0 -0
  89. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/rpc/RPC.py +0 -0
  90. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/rpc/RPCTest.py +0 -0
  91. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/rpc/__init__.py +0 -0
  92. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/sqla_orm/OrmCrudHandler.py +0 -0
  93. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/sqla_orm/TupleProviderForDb.py +0 -0
  94. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/sqla_orm/VortexTupleJson.py +0 -0
  95. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/sqla_orm/__init__.py +0 -0
  96. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/storage/TupleStorageSqlite.py +0 -0
  97. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/storage/__init__.py +0 -0
  98. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/__init__.py +0 -0
  99. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/constants.py +0 -0
  100. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/json_schema_node_tuple.py +0 -0
  101. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/tuple_json_schema_builder.py +0 -0
  102. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/tuple_json_schema_test.py +0 -0
  103. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortex/tuple_json_schema/tuple_json_schema_test_tuples.py +0 -0
  104. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortexpy.egg-info/SOURCES.txt +0 -0
  105. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortexpy.egg-info/dependency_links.txt +0 -0
  106. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortexpy.egg-info/entry_points.txt +0 -0
  107. {vortexpy-4.1.2 → vortexpy-4.1.3}/vortexpy.egg-info/requires.txt +0 -0
  108. {vortexpy-4.1.2 → vortexpy-4.1.3}/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.1.2
3
+ Version: 4.1.3
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.1.2"
7
+ version = "4.1.3"
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."
@@ -75,7 +75,7 @@ class _VortexConnectionRateLimit:
75
75
  def __init__(self):
76
76
  self._connections: list[_ConnectionDateSuccess] = []
77
77
  self._peerConnectionLimitPerIp = None
78
- self._newConnectionsPerWindow = 5
78
+ self._newConnectionsPerWindow = 20
79
79
  self._rollingNewConnectionWindowSeconds = 10.0
80
80
 
81
81
  def _hasHitPeerConnectionLimit(
@@ -43,7 +43,7 @@ VortexServer
43
43
  """
44
44
 
45
45
  HEART_BEAT_PERIOD = 10.0
46
- HEART_BEAT_TIMEOUT = 180.0
46
+ HEART_BEAT_TIMEOUT = 60.0
47
47
 
48
48
 
49
49
  class VortexServer(VortexABC):
@@ -153,13 +153,15 @@ class VortexServer(VortexABC):
153
153
  lambda: self._sessionExpired(httpSession.uid)
154
154
  )
155
155
 
156
- # Update the connection dict in the sessions object
157
156
  httpSessionConns = VortexSessionI(httpSession).connections
157
+ for oldConn in list(httpSessionConns.values()):
158
+ if oldConn is not vortexConnection:
159
+ oldConn.close()
158
160
  httpSessionConns[vortexUuid] = vortexConnection
159
161
 
160
- # Get the old connection if it exists
161
162
  if vortexUuid in self._connectionByVortexUuid:
162
- self._connectionByVortexUuid[vortexUuid].close()
163
+ if self._connectionByVortexUuid[vortexUuid] is not vortexConnection:
164
+ self._connectionByVortexUuid[vortexUuid].close()
163
165
 
164
166
  # Update the _connectionsByvortexUuid
165
167
  self._connectionByVortexUuid[vortexUuid] = vortexConnection
@@ -267,13 +267,6 @@ class VortexWebSocketUpgradeResource(resource.Resource):
267
267
  return b"upgrade" in connection and upgrade == b"websocket"
268
268
 
269
269
  def _renderGet(self, request):
270
- from vortex.VortexFactory import VortexFactory
271
-
272
- if not VortexFactory.canConnect(str(request.client.host)):
273
- request.setResponseCode(503)
274
- request.setHeader("Retry-After", str(max(10, int(random() * 100))))
275
- return b"Rejected due to new connections throttling."
276
-
277
270
  request.setResponseCode(200)
278
271
  request.setHeader(b"Content-Type", b"application/json")
279
272
  request.setHeader(b"Cache-Control", b"no-store")
@@ -6,4 +6,4 @@
6
6
  # Website : https://flyingion.com
7
7
  # Support : contact@flyingion.com
8
8
 
9
- __version__ = '4.1.2'
9
+ __version__ = '4.1.3'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortexpy
3
- Version: 4.1.2
3
+ Version: 4.1.3
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
File without changes
File without changes