distributed-state-network 0.2.0__tar.gz → 0.2.1__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 (32) hide show
  1. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/PKG-INFO +1 -1
  2. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/pyproject.toml +1 -1
  3. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/handler.py +4 -3
  4. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/tests/connections.py +4 -12
  5. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/.github/workflows/publish.yml +0 -0
  6. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/.gitignore +0 -0
  7. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/LICENSE +0 -0
  8. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/README.md +0 -0
  9. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/coverage.sh +0 -0
  10. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/documentation/ds-node-config.md +0 -0
  11. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/documentation/ds-node-server.md +0 -0
  12. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/documentation/ds-node.md +0 -0
  13. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/documentation/protocol.md +0 -0
  14. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/documentation/usage.md +0 -0
  15. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/__init__.py +0 -0
  16. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/create_key.py +0 -0
  17. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/dsnode.py +0 -0
  18. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/config.py +0 -0
  19. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/endpoint.py +0 -0
  20. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/hello_packet.py +0 -0
  21. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/msg_types.py +0 -0
  22. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/peers_packet.py +0 -0
  23. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/signed_packet.py +0 -0
  24. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/objects/state_packet.py +0 -0
  25. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/__init__.py +0 -0
  26. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/aes.py +0 -0
  27. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/byte_helper.py +0 -0
  28. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/ecdsa.py +0 -0
  29. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/https.py +0 -0
  30. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/src/distributed_state_network/util/key_manager.py +0 -0
  31. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/technical.md +0 -0
  32. {distributed_state_network-0.2.0 → distributed_state_network-0.2.1}/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: distributed-state-network
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: A tool to distribute the state of a network device to other devices on the network
5
5
  Project-URL: Homepage, https://github.com/erinclemmer/distributed_state_network
6
6
  Project-URL: Issues, https://github.com/erinclemmer/distributed_state_network/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "distributed-state-network"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  authors = [{name="Erin Clemmer", email="erin.c.clemmer@gmail.com"}]
9
9
  description = "A tool to distribute the state of a network device to other devices on the network"
10
10
  keywords = ["distributed", "networking"]
@@ -7,7 +7,7 @@ from distributed_state_network.objects.config import DSNodeConfig
7
7
  from distributed_state_network.util.aes import generate_aes_key
8
8
  from distributed_state_network.util import stop_thread
9
9
 
10
- VERSION = "0.2.0"
10
+ VERSION = "0.2.1"
11
11
  logging.basicConfig(level=logging.INFO)
12
12
 
13
13
  # Message type constants
@@ -104,8 +104,9 @@ class DSNodeServer:
104
104
  try:
105
105
  # Receive UDP packet (max 65507 bytes for UDP)
106
106
  data, addr = self.socket.recvfrom(65507)
107
- # Handle packet in separate thread to avoid blocking
108
- threading.Thread(target=self.handle_packet, args=(data, addr), daemon=True).start()
107
+ if self.running:
108
+ # Handle packet in separate thread to avoid blocking
109
+ threading.Thread(target=self.handle_packet, args=(data, addr), daemon=True).start()
109
110
  except OSError:
110
111
  # Socket was closed
111
112
  if not self.running:
@@ -17,14 +17,12 @@ cb_test = 0
17
17
 
18
18
  current_port = 5000
19
19
 
20
- def start_node(node_id: str, bootstrap_port: int = None, disconnect_cb: Optional[Callable] = None, update_cb: Optional[Callable] = None, https: bool = False):
20
+ def start_node(node_id: str, bootstrap_port: int = None, disconnect_cb: Optional[Callable] = None, update_cb: Optional[Callable] = None):
21
21
  global current_port
22
22
  args = {
23
23
  "node_id": node_id,
24
24
  "port": current_port,
25
- "aes_key_file": KEY_FILE,
26
- "https": https,
27
- "network_ip": "127.0.0.1"
25
+ "aes_key_file": KEY_FILE
28
26
  }
29
27
  current_port += 1
30
28
  if bootstrap_port is not None:
@@ -35,7 +33,7 @@ def start_node(node_id: str, bootstrap_port: int = None, disconnect_cb: Optional
35
33
  else:
36
34
  args["bootstrap_nodes"] = []
37
35
 
38
- return DSNodeServer.start(DSNodeConfig(**args), disconnect_cb, update_cb)
36
+ return DSNodeServer.start(DSNodeConfig(**args), None, disconnect_cb, update_cb)
39
37
 
40
38
  class ConnectionsTest(unittest.TestCase):
41
39
  def test_one(self):
@@ -48,12 +46,6 @@ class ConnectionsTest(unittest.TestCase):
48
46
  self.assertEqual(["node-1", "node-2"], sorted(node1.node.peers()))
49
47
  self.assertEqual(["node-1", "node-2"], sorted(node2.node.peers()))
50
48
 
51
- def test_https(self):
52
- node1 = start_node("node-1", https=True)
53
- node2 = start_node("node-2", node1.config.port, https=True)
54
- self.assertEqual(["node-1", "node-2"], sorted(node1.node.peers()))
55
- self.assertEqual(["node-1", "node-2"], sorted(node2.node.peers()))
56
-
57
49
  def test_many(self):
58
50
  bootstrap_node = start_node("bootstrap")
59
51
  nodes = []
@@ -92,7 +84,7 @@ class ConnectionsTest(unittest.TestCase):
92
84
  node2 = start_node("node-2", node1.config.port)
93
85
  time.sleep(1)
94
86
  node2.stop()
95
- time.sleep(5)
87
+ time.sleep(10)
96
88
  self.assertEqual(cb_test, 1)
97
89
 
98
90
  def test_update_cb(self):