Commit Graph

873 Commits

Author SHA1 Message Date
Giovanni Petrantoni 7946743ae5 wip 2020-07-29 09:41:34 +09:00
Giovanni Petrantoni a34eee7ed4 pruning improvements 2020-07-28 14:09:37 +09:00
Giovanni Petrantoni 880acd9dc1 Merge branch 'master' into gossip-one-one 2020-07-28 12:06:16 +09:00
Dmitriy Ryajov f7fdf31365
Pubsub lifetime (#284)
* lifecycle hooks

* tests

* move trace after closed check

* restore 1 second heartbeat

* await close event

* fix tests

* print direction string

* more trace logging

* add pubsub monitor

* add log scope

* adjust idle timeout

* add exc.msg to trace
2020-07-27 13:33:51 -06:00
Dmitriy Ryajov ed0df74bbd
Connection lifecycle hooks (#288)
* lifecycle hooks

* trigger hooks as tasks

* handle exceptions in trigger hooks

* trigger hooks after storing the connection

* add disconnected hook

* tests
2020-07-24 13:24:31 -06:00
Giovanni Petrantoni a7b1417fd7 Merge branch 'master' into gossip-one-one 2020-07-23 09:14:06 +09:00
Giovanni Petrantoni f73cf36afb add a handleConnect in subscribeTopic 2020-07-22 11:00:02 +09:00
Giovanni Petrantoni f122ec9dbf fix grafted defect 2020-07-22 10:19:53 +09:00
Eugene Kabanov 6af3cb6406
Public key infrastructure filters. (#272)
* Initial commit.

* Workaround nim's bug and add some other compilation error fixes.

* Rename to libp2p_pki_schemes.
Fix secio.
Add tests.

* Attempt to fix command line.

* Fix command line.
Show status in tests.
2020-07-21 14:10:21 -06:00
Giovanni Petrantoni c3404f6eea
Handle cancellation in timeoutMonitor (#283)
* Handle cancellation in timeoutMonitor

* refactor lpchannel timeout as suggested by cheatfate
2020-07-21 09:03:41 -06:00
Giovanni Petrantoni aded78f259 don't delete while iterating in score update 2020-07-21 13:37:06 +09:00
Giovanni Petrantoni f74e693ea8 fix test utils generateNodes 2020-07-21 12:46:49 +09:00
Giovanni Petrantoni b61f1da9a8 fixes 2020-07-21 11:47:46 +09:00
Giovanni Petrantoni 884d05cbc2 score wip 2020-07-21 11:25:14 +09:00
Giovanni Petrantoni 0776cc77e7 Merge branch 'master' into gossip-one-one 2020-07-21 11:02:02 +09:00
Giovanni Petrantoni 3b088f8980
Fix some unsubscribe issues and add unsubscribeAll helper (#282)
* Fix some unsub issues and add unsuball helper

* batch sendprune in unsubscribe methods

* add unsubscribeAll for floodsub
2020-07-20 10:16:13 -06:00
Giovanni Petrantoni afe17ca2c1 score wip 2020-07-20 18:20:22 +09:00
Giovanni Petrantoni b8a519884e tables troubleshooting 2020-07-20 16:20:49 +09:00
Giovanni Petrantoni 81f7413e87 Merge branch 'master' into gossip-one-one 2020-07-20 15:57:54 +09:00
Giovanni Petrantoni c3af7659b0
Add more checks and fix some issues in gossip tests (#281) 2020-07-20 15:55:00 +09:00
Giovanni Petrantoni d9fa9e2e84 wip 2020-07-19 12:37:45 +09:00
Dmitriy Ryajov 38eb36efae
don't use close event to stop timer (#280) 2020-07-18 11:00:44 -06:00
Giovanni Petrantoni 6af7909378 fix internal gossip tests 2020-07-18 21:00:44 +09:00
Giovanni Petrantoni 13c87a76c0 pubsubpeer, chronicles explicit override 2020-07-18 18:09:40 +09:00
Giovanni Petrantoni 17ac11f2b0 fix logging issue 2020-07-18 18:02:39 +09:00
Giovanni Petrantoni 88ace2c5dd Merge branch 'master' into gossip-one-one 2020-07-18 12:08:25 +09:00
Dmitriy Ryajov 94196fee71
Connections and pubsub peers cleanup (#279)
* better peer tracking and cleanup

* check if peer and conn is nil

* test name

* make timeout more agressive

* rename method for better clarity
2020-07-17 13:46:24 -06:00
Dmitriy Ryajov ba071cafa6
Channel timeout (#278)
* add support for channel timeouts

* tests for channel timeout

* add timeouts to standard switch

* fix mplex init

* cleanup timer on stream close

* add comment for `isConnected`

* move cleanup event
2020-07-17 12:44:41 -06:00
Dmitriy Ryajov 0348773ec9
Connection manager (#277)
* splitting out connection management

* wip

* wip conn mngr tests

* set peerinfo in contructor

* comments and documentation

* tests

* wip

* add `None` to detect untagged connections

* use `PeerID` to index connections

* fix tests

* remove useless equality
2020-07-17 09:36:48 -06:00
Giovanni Petrantoni 6b23cae3d4 wip 2020-07-17 18:01:30 +09:00
Giovanni Petrantoni 0d60a2f1c6 Merge branch 'master' into gossip-one-one 2020-07-17 17:10:49 +09:00
Giovanni Petrantoni 9e3f70896a wip updateScores 2020-07-17 14:03:25 +09:00
Jacek Sieka 170685f9c6
gossipsub fixes (#276)
* graft up to D peers
* fix logging so it's clear who is grafting/pruning who
* clear fanout when grafting
2020-07-16 21:26:57 +02:00
Giovanni Petrantoni 6f638259ee grafted and pruned procs 2020-07-16 22:32:43 +09:00
Giovanni Petrantoni 19d3d57d4c small sugar 2020-07-16 21:59:33 +09:00
Giovanni Petrantoni b0fa68022a Merge branch 'master' into gossip-one-one 2020-07-16 21:59:03 +09:00
Giovanni Petrantoni b3aad9e1ef cleanups/wip 2020-07-16 21:53:45 +09:00
Jacek Sieka c76152f2c1
Simplify send (#271)
* PubSubPeer.send single message

* gossipsub: simplify send further
2020-07-16 12:06:57 +02:00
Giovanni Petrantoni f708874170 finishup with params 2020-07-16 16:55:59 +09:00
Giovanni Petrantoni 3039c853a2 Merge branch 'master' into gossip-one-one 2020-07-16 16:24:11 +09:00
Giovanni Petrantoni 4112e04036
Add build_p2pd script directly in this repo (#274) 2020-07-16 16:22:49 +09:00
Giovanni Petrantoni 0e2ff309df parameters wip 2020-07-16 13:23:11 +09:00
Giovanni Petrantoni 66e5f41c38 Merge branch 'master' into gossip-one-one 2020-07-16 11:44:11 +09:00
Dmitriy Ryajov f35b8999b3
some light cleanup for pub/gossip sub (#273)
* move peer table out to its own file

* move peer table

* cleanup `==` and add one to peerinfo

* add peertable

* missed equality check
2020-07-15 13:18:55 -06:00
Giovanni Petrantoni b9759c0536 Merge branch 'master' into gossip-one-one 2020-07-15 23:22:59 +09:00
Giovanni Petrantoni b166901f60 gossip internal tests fixes 2020-07-15 23:03:26 +09:00
Giovanni Petrantoni 255d9d0324 wip parameters 2020-07-15 17:44:23 +09:00
Eugene Kabanov b832668768
Minprotobuf refactoring 2 (#269)
* Protobuf refactoring stage II.

* Remove NoError.

* Change trace level for invalid message.
2020-07-15 10:25:39 +02:00
Eugene Kabanov 9eb5828a42
Fix #266. (#270)
* Fix security issue #266.

* Add more tests.

* Fix PeerID tests should not use RSA-512 keys.

* Fix crypto tests to use vectors with 2048+ bits.

* Disable 4096bit RSA key generation for CI debug runs.
2020-07-15 10:24:04 +02:00
Giovanni Petrantoni 6eb651d43a control prune updates (pb) 2020-07-15 17:07:17 +09:00