Commit Graph

91 Commits

Author SHA1 Message Date
Dmitriy Ryajov d5f92663bc make tests pass 2020-01-09 12:55:21 -06:00
Yuriy Glukhov e0aae6d8ac Moved base32, 58 and 64 to stew 2019-12-13 16:00:39 +02:00
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
Dmitriy Ryajov 5e49072f24 upping chronos version 2019-12-03 01:26:59 +02:00
cheatfate 73a309027f
Add proper dependency for nimble file. 2019-11-06 13:59:03 +02:00
cheatfate 80e128b0d9
Tests are now testing with --threads:on.
Bump version to 0.0.2.
2019-11-06 13:01:16 +02:00
cheatfate 6d8f21b611
Attempt to fix nimble issues. 2019-10-23 13:27:51 +03:00
Dmitriy Ryajov a6cc199807 rebasing latest master 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 393d82d4b1 updating nimcrypto 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e8287a0e82 adding chronicles dep 2019-10-11 08:15:24 +09:00
Yuriy Glukhov 1ecdf159bb
Extern bearssl 2019-10-08 14:41:24 +03:00
cheatfate 968e635746
Add secp256k1 curve support and tests for it. 2019-09-02 21:55:42 +03:00
cheatfate 660888e7dc
Attempt to fix Appveyor CI freeze. 2019-08-22 08:49:27 +03:00
cheatfate dfd824bd03
Fix #22.
Fix wire.initTAddress(MultiAddress).
Add Windows support to daemonapi.
Add CI tests for daemonapi on Windows.
Fix Linux CI tests to install latest daemon.
2019-08-01 08:56:59 +03:00
Ștefan Talpalaru 77e621b9d7
*.nimble: remove imports 2019-03-25 22:45:34 +01:00
cheatfate abde17e8c2
Prepare for Windows tests. 2019-03-16 00:24:33 +02:00
Ștefan Talpalaru 7cbb89c7e4
assert() -> doAssert()
and refactored the "test" task in libp2p.nimble
2019-03-14 03:55:47 +01:00
cheatfate b185ad79f8
Add PeerID test vectors. 2019-03-06 03:48:22 +02:00
cheatfate 39129d0ec1
Add base64 and tests for it.
Adopt multibase to be able to use base64.
Fix base32 typos.
2019-03-06 02:36:09 +02:00
cheatfate e6c424618d
Add nimcrypto 0.3.9 dependency. 2019-03-02 21:20:30 +02:00
cheatfate b235c84bb2
Add key interface with test vectors. 2019-03-02 21:19:41 +02:00
cheatfate 2a2e378ced
Fix checkScalar in ecnist.
Add ed25519 and tests.
Add some comments.
2019-02-28 14:17:39 +02:00
cheatfate c5a5c50ca1
Temporary remove nim-secp256k1 dependency. 2019-02-25 16:08:36 +02:00
cheatfate 887795bbd2 Final RSA changes.
Add RSA tests and test vectors.
2019-02-24 02:07:13 +02:00
cheatfate 1aaf4797c9 Finish EC NIST curves implementation.
Add EC NIST curves tests and test vectors.
2019-02-22 13:32:15 +02:00
cheatfate ab274f0bdc Rename asyncdispatch2 -> chronos. 2019-02-14 03:15:48 +02:00
cheatfate bd7c4d646f Initial CID implementation. 2018-12-16 04:55:02 +02:00
cheatfate 0eb649c990 Add logging `go-libp2p-daemon`.
Comment FloodSub test.
2018-12-12 16:08:55 +02:00
cheatfate 7d60e22782 MultiBase initial implementation with tests. 2018-12-12 03:52:42 +02:00
cheatfate bdcfa1f189 Add multihash test. 2018-12-05 03:01:00 +02:00
cheatfate 53fc4cce41 Fix MultiAddress Onion and P2P address validation and encoding/decoding.
Enabled Onion/P2P tests.
Add nimcrypto dependency to nimble file.
2018-12-05 02:30:50 +02:00
cheatfate 04b4d8f688 Add base32 encoding/decoding procedures and tests. 2018-12-03 15:07:14 +02:00
cheatfate dba3e9ed7c Add testmultiaddress to nimble. 2018-11-27 14:20:05 +02:00
cheatfate cd190e62c2 Add base58 encoding and tests. 2018-11-24 00:06:06 +02:00
cheatfate 3b554d0f51 Add LibP2P varint and tests.
Generalize Varint.
2018-11-20 23:39:35 +02:00
cheatfate d45f35d295 Fix nimble. 2018-11-19 23:03:50 +02:00
cheatfate c660e833a2 Add asyncdispatch2 dependency. 2018-11-19 06:39:04 +02:00
cheatfate dc482dfb45 Add simple daemon spawn test. 2018-11-19 06:34:05 +02:00
cheatfate 9262aa5e9e Add Protobuf's variable integer test. 2018-11-19 06:18:11 +02:00
cheatfate fb8e6701a9 Last fixes. 2018-11-19 06:03:23 +02:00
cheatfate 1211ffbb5c Add daemon api sources. 2018-11-19 04:52:11 +02:00