c5cc0ee969
run mypy locally, bump mypy to 1.10.0, fix new errors
2024-07-04 13:19:00 -06:00
d9b92635c1
drop async-service dep and copy relevant code into a local async_service
...
tool, updated for modern handling of ExceptionGroup
2024-05-27 12:14:36 -06:00
94483714a3
run lint and fix errors, except mypy
2024-02-19 16:05:58 -07:00
857cc29d27
add content-addressed message id utility
2020-02-28 08:25:03 -08:00
ef666267bd
Allow Pubsub creator to supply a custom msg_id
2020-02-28 08:25:03 -08:00
f1dbd52d67
Merge branch 'master' into feature/trio
2020-02-06 10:39:54 +08:00
ddbedc6c15
Pubsub: handle_talk
...
- Change from async function to sync
- Change the name to `notify_subscriptions`, which is clearer.
2020-02-05 21:44:33 +08:00
7f8c0f11f6
Pubsub: change channel size
...
To `32` to conform to the go implementation.
2020-02-05 21:30:26 +08:00
1588be2be9
Change the channel size of peer queue
...
Back to `0`, to avoid unlimited buffer size.
2020-01-31 17:42:47 +08:00
095a848f30
Add clean-up logics into TrioSubscriptionAPI
...
Register an `unsubscribe_fn` when initializing the TrioSubscriptionAPI.
`unsubscribe_fn` is called when subscription is unsubscribed.
2020-01-28 00:29:05 +08:00
c3ba67ea87
Remove locks in PubsubNotifee
...
- Change `open_memory_channel(0)` to `open_memory_channel(math.inf)`, to
avoid `peer_queue.send` and `dead_peer_queue.send` blocking. This allows
us to remove the locks.
- Only catch `trio.BrokenResourceError`, which is caused by Pubsub when
it's closing.
2020-01-27 14:30:44 +08:00
92ea35e147
Fix IPubsub and add IPubsub.wait_until_ready
2020-01-27 00:10:33 +08:00
e3a1dd62e4
Use new type hinting for trio channel
2020-01-26 23:56:19 +08:00
6c7aa30191
Add events in Pubsub
...
To ensure `handle_peer_queue` and `handle_dead_peer_queue` are indeed
run before the tests finish. Previously, we get errors when performing
`iter_dag` after cancellation. This is because `handle_peer_queue` or
`handle_dead_peer_queue` is not actually run before the Service is
cancelled.
2020-01-18 00:17:30 +08:00
94f0fcb6ad
Iterate dead_peer_receive_channel with async for
2019-12-26 20:44:32 +08:00
ce5663705f
Merge branch 'master' into feature/porting-to-trio
2019-12-24 02:19:43 +08:00
adae81ca01
fix logging bug
2019-12-23 09:15:56 +01:00
96f6b80e51
Merge remote-tracking branch 'origin/master' into f-string_clean
...
# Conflicts:
# libp2p/network/swarm.py
2019-12-23 09:14:15 +01:00
0827d0d9ef
add 2 more instances of formatting violations
2019-12-19 18:09:47 +01:00
19ce8a2140
Fix mypy
2019-12-17 21:56:02 +08:00
47d10e186f
Add SubscriptionAPI
...
And `TrioSubscriptionAPI`, to make subscription io-agnostic.
2019-12-17 18:17:28 +08:00
f10e3099cb
Change type of peers in pubsub from list to set
2019-12-17 17:55:13 +08:00
7d6daa8e10
Minor cleanup:
...
- remove outdated comment
- add new peer at the end
- turn peers to send from list to set
2019-12-17 17:17:03 +08:00
fb0519129d
Refine Mplex.close and SwarmConn.close
...
Ensure `close` cleans up things and cancel the service finally.
2019-12-17 15:50:55 +08:00
733b1d08b6
Merge pull request #372 from ralexstokes/add-py36-compatibility
...
Add py36 compatibility
2019-12-10 17:28:49 -08:00
1929f307fb
Fix all modules except for security
2019-12-06 17:06:37 +08:00
c08b2375e1
Fix: should not remove topic if no peers
2019-12-03 23:10:47 +08:00
e9ab0646e3
Fix Pubsub
2019-12-03 17:27:49 +08:00
63fd531ed0
Fixes to add python 3.6 compatibility
2019-12-02 16:33:32 -08:00
920cf646ef
Fix lint and add check in fanout heartbeat
2019-12-02 22:49:27 +08:00
0a52a05375
Del entry if no more peers subscribe to the topic
2019-11-30 20:02:11 +08:00
e59ac6a250
Cleanup TODOs in pubsub
2019-11-30 17:12:37 +08:00
658a0ae156
Apply PR feedback:
...
move signature validation logic into signature validator
2019-11-29 19:37:48 +08:00
1c54c38ca7
Fix lint and add signing_strict to interop tests
2019-11-29 17:24:40 +08:00
a262b94836
Apply PR feedback:
...
check if signing key and ID match
2019-11-29 14:12:42 +08:00
064c109b64
Fix signature validator:
...
Add prefix and return verify result
2019-11-28 18:45:00 +08:00
d5d6962dce
Update Pubsub fixture and test
2019-11-27 17:15:24 +08:00
0fd400fdf8
Sign and verify in Pubsub
2019-11-27 17:15:24 +08:00
683710573e
Add strict_signing: bool and sign_key to Pubsub
2019-11-27 17:15:23 +08:00
e355cb2600
Apply PR feedback:
...
Only use pop method if error handling is in place
2019-11-23 16:04:22 +08:00
501eef59de
Apply PR feedback:
...
Only use pop method if graceful failure handling is desired
2019-11-21 14:48:03 +08:00
19907e18ec
Replace (check and) del pattern with pop method
2019-11-20 23:06:37 +08:00
ace5ef69a8
Apply PR feedback:
...
handle pubsub dead peer when stream closed in gossipsub
2019-11-16 17:03:04 +08:00
9be9b4bbfc
Handle StreamClosed in pub/gossip/flood-sub
2019-11-16 16:56:59 +08:00
b8c7f0cfff
Fix lint
2019-11-09 23:55:35 +08:00
5dfa29a0df
Track tasks created in pubsub and add close()
2019-11-09 23:24:09 +08:00
93ef36bd86
Clean up peer record if pubsub stream fail
2019-11-09 23:24:09 +08:00
eeb87848af
Apply PR feedback:
...
- fix await stream close/reset
- make `_handle_dead_peer` a sync function
2019-11-09 23:24:09 +08:00
d36e323703
Update error handling of pubsub stream handler
2019-11-09 23:24:08 +08:00
a8d9536b08
Spin up handle_dead_peer_queue task
2019-11-09 23:24:08 +08:00