vyzo
d6dfe83ebe
refactor nextSeqno out of Publish
2018-06-12 08:00:17 -07:00
vyzo
e8a91d330a
document PubSubRouter interface
2018-06-12 08:00:17 -07:00
vyzo
c57d256a22
increase the flood length in TestGossipsubControlPiggyback
2018-06-12 08:00:17 -07:00
vyzo
a39184a0af
smaller net sizes for tests that exercise full queues
...
so that travis doesn't get killed by OOM.
2018-06-12 08:00:17 -07:00
vyzo
2544ae7df9
announce retry should check the pubsub context for cancellation
2018-06-12 08:00:17 -07:00
vyzo
0824316326
finetune GraftPruneRetry test, so that it doesn't get OOM killed
2018-06-12 08:00:17 -07:00
vyzo
a71eec5c3a
test control message retry piggybacking
2018-06-12 08:00:17 -07:00
vyzo
f5d6cf3bd1
TestGossipsubGraftPruneCoalesce is TestGossipsubGraftPruneRetry
...
it is really testing full queues (sized 32) and retries of control
messages and announces
2018-06-12 08:00:17 -07:00
vyzo
009efebdaf
harden piggybackControl
...
don't create a control object if the graft/prune are stale and only assign
the relevant fields.
2018-06-12 08:00:17 -07:00
vyzo
bfb0664581
retry dropped ANNOUNCE messages
...
they are very important for correct topic state in the protocol, esp gossipsub
2018-06-12 08:00:17 -07:00
vyzo
af061f5040
refactor sendGraftPrune out of heartbeat
2018-06-12 08:00:17 -07:00
vyzo
285c1f0aa7
add test for graft/prune coalescing in heartbeat
2018-06-12 08:00:17 -07:00
vyzo
ef730627ad
remove unnecessary and potentially harmful check from heartbeat
...
- the check is unnecessary because peers emit PRUNE on Leave
- the check is harmful, because the ANNOUNCE message might have
benn lost (or reordered after the GRAFT depending on the retry
strategy), which would leave the mesh in an inconsistent state.
2018-06-12 08:00:17 -07:00
vyzo
e8c5cf0914
test gossip propagation with IHAVE/IWANT cycle
2018-06-12 08:00:17 -07:00
vyzo
4667b0ae94
fanout sources should emit gossip too
2018-06-12 08:00:17 -07:00
vyzo
3ecfbc2a60
better test for fanout maintenance
2018-06-12 08:00:17 -07:00
vyzo
75787fb809
moar gossipsub tests
2018-06-12 08:00:17 -07:00
vyzo
5533949443
finetune gossip test, add join grafting test
2018-06-12 08:00:17 -07:00
vyzo
66fc8adac5
more gossipsub tests
2018-06-12 08:00:17 -07:00
vyzo
626b04f2a8
fix go vet issues in mcache test
2018-06-12 08:00:17 -07:00
vyzo
0a82522cf6
basic gossipsub tests
2018-06-12 08:00:17 -07:00
vyzo
1f5959bf54
fix slice bounds issues; getCount takes care of the slicing
2018-06-12 08:00:17 -07:00
vyzo
060a9bba62
mcache test
2018-06-12 08:00:17 -07:00
vyzo
599ccffecd
shift the message history window at the end of the heartbeat
2018-06-12 08:00:17 -07:00
vyzo
64cdbbabbc
remove pending gossip and control messages on RemovePeer
2018-06-12 08:00:17 -07:00
vyzo
bd29e81e3a
history and gossip length are named constants
2018-06-12 08:00:17 -07:00
vyzo
c5fe290389
reduce gossip amplification; don't send to mesh peers
2018-06-12 08:00:17 -07:00
vyzo
0e288dc741
delete mesh before sending prunes on leave
2018-06-12 08:00:17 -07:00
vyzo
64d35994d1
shuffle peers
2018-06-12 08:00:17 -07:00
vyzo
8fbc4e1c70
implement mcache
2018-06-12 08:00:17 -07:00
vyzo
07875f149e
implement flush
2018-06-12 08:00:17 -07:00
vyzo
74a10cfa70
piggybacking details
2018-06-12 08:00:17 -07:00
vyzo
7251c64e65
control message piggybacking logic
2018-06-12 08:00:17 -07:00
vyzo
78618fce23
maintain fanout peer lists on heartbeat
2018-06-12 08:00:17 -07:00
vyzo
bc25116516
clean peers that have left the topic on heartbeat
2018-06-12 08:00:17 -07:00
vyzo
73da341386
hearbeat preliminaries: overlay management
2018-06-12 08:00:17 -07:00
vyzo
34509d47b3
implement Join and Leave, refactor sendRPC
2018-06-12 08:00:17 -07:00
vyzo
e1fbe11c97
refactor Publish to use getPeers
2018-06-12 08:00:17 -07:00
vyzo
6a177a7396
handle gossipsub control messages
2018-06-12 08:00:17 -07:00
vyzo
dd50a31c40
add gossipsub control messages
2018-06-12 08:00:17 -07:00
vyzo
375c4176b9
gossipsub publish
2018-06-12 08:00:17 -07:00
vyzo
b867200fee
gossipsub: heartbeat timer
2018-06-12 08:00:17 -07:00
vyzo
d6104094c8
increase timeCache length to 120s
2018-06-12 08:00:17 -07:00
vyzo
458c75b33f
add TODO for reliable announcements
2018-06-12 08:00:17 -07:00
vyzo
b09c9d1a48
check and mark seen messages prior to validation
...
this allows us to avoid revalidating messages, either because they were concurrently
received or were previously rejected by the validator.
also allows us to filter invalid messages from gossip.
2018-06-12 08:00:17 -07:00
vyzo
448f380722
gossipsub: router outline
2018-06-12 08:00:17 -07:00
vyzo
8680a79d3a
add Join/Leave to PubSubRouter interface
...
advanced routers will want to know when they are subscribed to a topic as
they may want to send control messages.
2018-06-12 08:00:17 -07:00
Steven Allen
1c92f1a4f2
gx publish 0.9.17
gx/v0.9.17
2018-06-09 10:28:48 -07:00
Steven Allen
007a3fc768
Merge pull request #82 from libp2p/feat/pluggable-protocol
...
Make FloodSub Protocols Configurable
2018-06-09 17:28:22 +00:00
Steven Allen
37a9fdb70a
gx publish 0.9.16
gx/v0.9.16
2018-06-08 22:31:49 -07:00