nim-libp2p/libp2p
Dmitriy Ryajov e623e70e7b
PubSub (Gossip & Flood) Implementation (#36)
This adds gossipsub and floodsub, as well as basic interop testing with the go libp2p daemon. 

* add close event

* wip: gossipsub

* splitting rpc message

* making message handling more consistent

* initial gossipsub implementation

* feat: nim 1.0 cleanup

* wip: gossipsub protobuf

* adding encoding/decoding of gossipsub messages

* add disconnect handler

* add proper gossipsub msg handling

* misc: cleanup for nim 1.0

* splitting floodsub and gossipsub tests

* feat: add mesh rebalansing

* test pubsub

* add mesh rebalansing tests

* testing mesh maintenance

* finishing mcache implementatin

* wip: commenting out broken tests

* wip: don't run heartbeat for now

* switchout debug for trace logging

* testing gossip peer selection algorithm

* test stream piping

* more work around message amplification

* get the peerid from message

* use timed cache as backing store

* allow setting timeout in constructor

* several changes to improve performance

* more through testing of msg amplification

* prevent gc issues

* allow piping to self and prevent deadlocks

* improove floodsub

* allow running hook on cache eviction

* prevent race conditions

* prevent race conditions and improove tests

* use hashes as cache keys

* removing useless file

* don't create a new seq

* re-enable pubsub tests

* fix imports

* reduce number of runs to speed up tests

* break out control message processing

* normalize sleeps between steps

* implement proper transport filtering

* initial interop testing

* clean up floodsub publish logic

* allow dialing without a protocol

* adding multiple reads/writes

* use protobuf varint in mplex

* don't loose conn's peerInfo

* initial interop pubsub tests

* don't duplicate connections/peers

* bring back interop tests

* wip: interop

* re-enable interop and daemon tests

* add multiple read write tests from handlers

* don't cleanup channel prematurely

* use correct channel to send/receive msgs

* adjust tests with latest changes

* include interop tests

* remove temp logging output

* fix ci

* use correct public key serialization

* additional tests for pubsub interop
2019-12-05 20:16:18 -06:00
..
crypto Fix overflow problem. 2019-10-29 20:51:48 +02:00
daemon Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
muxers PubSub (Gossip & Flood) Implementation (#36) 2019-12-05 20:16:18 -06:00
protobuf Fix overflow problem. 2019-10-29 20:51:48 +02:00
protocols PubSub (Gossip & Flood) Implementation (#36) 2019-12-05 20:16:18 -06:00
stream Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
transports Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
base32.nim Use CatchableError 2019-06-24 05:39:13 +03:00
base58.nim Use CatchableError 2019-06-24 05:39:13 +03:00
base64.nim Use CatchableError 2019-06-24 05:39:13 +03:00
cid.nim Use CatchableError 2019-06-24 05:39:13 +03:00
connection.nim Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
multiaddress.nim Fix MultiAddress.init(PeerID) compilation problem. 2019-11-04 20:57:17 +02:00
multibase.nim Fix overflow problem. 2019-10-29 20:51:48 +02:00
multicodec.nim Use CatchableError 2019-06-24 05:39:13 +03:00
multihash.nim Use CatchableError 2019-06-24 05:39:13 +03:00
multistream.nim PubSub (Gossip & Flood) Implementation (#36) 2019-12-05 20:16:18 -06:00
peer.nim Fix overflow problem. 2019-10-29 20:51:48 +02:00
peerinfo.nim Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
switch.nim PubSub (Gossip & Flood) Implementation (#36) 2019-12-05 20:16:18 -06:00
transcoder.nim Add multicodec to table and make it single source of multiformat codes. 2018-12-05 17:24:07 +02:00
varint.nim Use CatchableError 2019-06-24 05:39:13 +03:00
vbuffer.nim Feat/conn cleanup (#41) 2019-12-03 22:44:54 -06:00
wire.nim add init from TransportAddress to multiaddress 2019-10-11 08:15:24 +09:00