pycyphal2 2.0.0.dev4__py3-none-any.whl → 2.0.0.dev5__py3-none-any.whl

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.
pycyphal2/__init__.py CHANGED
@@ -155,7 +155,7 @@ from ._transport import SubjectWriter as SubjectWriter
155
155
  from ._transport import Transport as Transport
156
156
  from ._transport import TransportArrival as TransportArrival
157
157
 
158
- __version__ = "2.0.0.dev4"
158
+ __version__ = "2.0.0.dev5"
159
159
 
160
160
  # pdoc needs __all__ to display re-exported members.
161
161
  __all__ = [
pycyphal2/_node.py CHANGED
@@ -246,7 +246,9 @@ def compute_subject_id(topic_hash: int, evictions: int, modulus: int) -> int:
246
246
  """Compute the subject-ID for a topic given its hash, evictions, and subject-ID modulus."""
247
247
  if evictions >= EVICTIONS_PINNED_MIN:
248
248
  return 0xFFFFFFFF - evictions
249
- return SUBJECT_ID_PINNED_MAX + 1 + ((topic_hash + (evictions * evictions)) % modulus)
249
+ h = topic_hash % modulus
250
+ e = evictions % modulus
251
+ return SUBJECT_ID_PINNED_MAX + 1 + ((h + ((e * e) % modulus)) % modulus)
250
252
 
251
253
 
252
254
  # =====================================================================================================================
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycyphal2
3
- Version: 2.0.0.dev4
3
+ Version: 2.0.0.dev5
4
4
  Summary: Pure-Python implementation of Cyphal -- a simple and robust real-time publish/subscribe stack that runs anywhere.
5
5
  Author-email: Pavel Kirienko and OpenCyphal team <pavel@opencyphal.org>
6
6
  License: MIT
@@ -1,8 +1,8 @@
1
- pycyphal2/__init__.py,sha256=I3q42Aaf6RF1-wwqRDuIwfI384Qar3SdH5pNqrx7TCc,6849
1
+ pycyphal2/__init__.py,sha256=Kxmoqy_EpKm87whqgV0VYHJTwSy69DW1HqRWf-i-TPM,6849
2
2
  pycyphal2/_api.py,sha256=fYtM9J0RmaEp30iSzebi6a0kLeINPRM0UvvAjevEV6E,22688
3
3
  pycyphal2/_hash.py,sha256=qdQ3A35oFy5mxPNO873OlLntVsCuOak6ckJf8r5j254,10621
4
4
  pycyphal2/_header.py,sha256=12r_jQQ1t3rrNG6si5C3-vNcUSkvYQCBo8YhG16g19Q,10448
5
- pycyphal2/_node.py,sha256=t4Tv-EkxZDSaOl4S8p5uahUs1cVYA_lVO415XmiyJFs,61537
5
+ pycyphal2/_node.py,sha256=MLY3F-vAAI5yrFQxgYkbXZY6Wp_JLbY6WcSDjXDp098,61581
6
6
  pycyphal2/_publisher.py,sha256=-5T-WVa9MZin1MQ7ELckOiC31AxU1SBs8qFnM7E21g0,14998
7
7
  pycyphal2/_subscriber.py,sha256=nHFj_TdqK3y_HwvoZ2mbiQZ6WJZkATQqp7zXgIqpDDk,14989
8
8
  pycyphal2/_transport.py,sha256=C0-hMukqJ_wUbNkXMBpMSp78Rf9FE7rcBfZpLDMkNF4,3492
@@ -17,8 +17,8 @@ pycyphal2/can/_wire.py,sha256=f7OgeuyAUHSLhmRiBq8ukQ7NTTfNu0zXQW7J5gRIGQ0,13681
17
17
  pycyphal2/can/pythoncan.py,sha256=jxnlKhuXcH4nxU27e-PtOmtJX0ZLgbpk7_Sds6B7PTM,11272
18
18
  pycyphal2/can/socketcan.py,sha256=lmfYzP3ih6xMayHyxW83K9KR352GF5_DVgxF0NqrLRc,9467
19
19
  pycyphal2/can/webserial.py,sha256=HwZ2HrRDCsOyLsOPCHunP_Nje1TQa9VsRNEeXQbu-Dg,10723
20
- pycyphal2-2.0.0.dev4.dist-info/licenses/LICENSE,sha256=ILoAsB6eavnHqYkHMZt5JIp4-2oIMglw7vQr2aizB8w,1101
21
- pycyphal2-2.0.0.dev4.dist-info/METADATA,sha256=gCpSfgEpNXp6dS5KVSpV47Frxorq2h2_hNhDJNM-wig,2602
22
- pycyphal2-2.0.0.dev4.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
23
- pycyphal2-2.0.0.dev4.dist-info/top_level.txt,sha256=m3-ZKFH4OwPKxa94jzEP4OCKx7B7qnONx3GYXgaw8BU,10
24
- pycyphal2-2.0.0.dev4.dist-info/RECORD,,
20
+ pycyphal2-2.0.0.dev5.dist-info/licenses/LICENSE,sha256=ILoAsB6eavnHqYkHMZt5JIp4-2oIMglw7vQr2aizB8w,1101
21
+ pycyphal2-2.0.0.dev5.dist-info/METADATA,sha256=WOH94bhPD3gke3O7wYmfw9NUZUCAw8EY-RhplCCf_b0,2602
22
+ pycyphal2-2.0.0.dev5.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
23
+ pycyphal2-2.0.0.dev5.dist-info/top_level.txt,sha256=m3-ZKFH4OwPKxa94jzEP4OCKx7B7qnONx3GYXgaw8BU,10
24
+ pycyphal2-2.0.0.dev5.dist-info/RECORD,,