Commit Graph

11097 Commits

Author SHA1 Message Date
Juan Batiz-Benet
0ef035ef08 combined protocol and mux 2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
e0b9a368b8 protocol and muxer pkg 2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
4309d15edb updated msgio (varints) 2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
e2698a8733 net -> p2p/net
The net package is the next to move. It will be massaged
a bit still to fix the Network / "NetworkBackend" conflict.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
cc0d7c9b57 crypto -> p2p/crypto
The crypto package moves into p2p. Nothing in it so far is ipfs
specific; everything is p2p-general.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
89f5cd4c94 introducing p2p pkg
I think it's time to move a lot of the peer-to-peer networking
but-not-ipfs-specific things into its own package: p2p.
This could in the future be split off into its own library.
The first thing to go is the peer.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
35c22781ff relay: test across 4 + stress 2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
2984fb72d6 add relaying to mocknet
These services should all be added separately, in a function
that is Network impl independent. The interfaces need to be
massaged a bit (split inet.Network in two), so will do when
needed. For now this is fine.
2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
49cb135ca2 ipfsnet -> swarmnet
swarmnet is a better name for the package, because
it's just a Network implemented with a Swarm.
(ipfsnet will be something slightly different).
2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
735c3de7fa relay service -- streams across peers
this is the leadup into NAT traversal.
note: doesn't work yet. hangs the test.
2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
4d08eb0140 updated multihash (io) 2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
7bbc0084be updated go.crypto/sha3 2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
4807127def net: move Network implementation to own pkg
I needed the network implementation in its own
package, because I'll be writing several services that
will plug into _it_ that shouldn't be part of the core net
package. and then there were dependency conflicts. yay.
mux + identify are good examples of what i mean.
2015-01-02 08:46:43 -08:00
Juan Batiz-Benet
45a1ff0018 Merge pull request #486 from jbenet/blockstore-err-supress
blockstore: suppress exchange error
2015-01-02 08:40:07 -08:00
Juan Batiz-Benet
e5e1942638 blockstore: suppress exchange error 2015-01-02 08:36:36 -08:00
Juan Batiz-Benet
ef182f11ed routing: use debugerror 2015-01-02 08:36:32 -08:00
Juan Batiz-Benet
b86101b8b6 Merge pull request #456 from jbenet/provides-rewrite
rewrite of provides to better select peers to send RPCs to
2015-01-02 01:56:57 -08:00
Jeromy
da04d26779 clean up test setup interface 2015-01-02 08:33:42 +00:00
Jeromy
b4c6c87422 Improve readability of getClosestPeers method.
Also remove older useless code.
2015-01-02 07:42:09 +00:00
Jeromy
5af5625805 use query for getClosestPeers 2015-01-02 07:42:08 +00:00
Jeromy
14fc4188be address comments from PR 2015-01-02 07:42:08 +00:00
Jeromy
46aa22e949 some better logging and cleanup 2015-01-02 07:42:08 +00:00
Juan Batiz-Benet
2ad23f0579 dht: fix TestLayeredGet
The test was occasionally passing because:
- it called `putLocal(key, val)`
- GetValue calls `getLocal(key)` optimistically.

cc @whyrusleeping
2015-01-02 07:42:08 +00:00
Jeromy
b4b6fe2214 a couple small fixes 2015-01-02 07:42:08 +00:00
Jeromy
07b064010e rewrite of provides to better select peers to send RPCs to
refactor test peer creation to be deterministic and reliable

a bit of cleanup trying to figure out TestGetFailure

add test to verify deterministic peer creation

switch put RPC over to use getClosestPeers

rm 0xDEADC0DE

fix queries not searching peer if its not actually closer
2015-01-02 07:42:07 +00:00
Juan Batiz-Benet
da1387fb97 Merge pull request #484 from jbenet/peerstream-transports
peerstream transports
2015-01-01 23:33:57 -08:00
Juan Batiz-Benet
8acfcebd67 use yamux as go-peerstream transport
go-peerstream update to use github.com/hashicorp/yamux
2015-01-01 23:24:09 -08:00
Juan Batiz-Benet
175af5227f secio: threadsafe
clients were already accessing secio in one thread, but it's
safer to make sure it _is_ threadsafe
2015-01-01 19:48:05 -08:00
Juan Batiz-Benet
6ad158dd14 swarm test: reporting errors fix 2015-01-01 07:05:39 -08:00
Juan Batiz-Benet
293ea03eb0 secio: buffer remainders in calls to Read()
used to return io.ErrShortBuffer, but this makes client
code much more complicated. we're already allocating
buffers when it's too large, so might as well just
keep it for later.
2015-01-01 07:05:39 -08:00
Juan Batiz-Benet
a2abf108a0 peerstream update
peerstream was updated to use pluggable transports, including
muxado. The interface was also simplified slightly.
2015-01-01 07:05:39 -08:00
Juan Batiz-Benet
5f603deecd updated spdystream (lock) 2014-12-31 07:22:00 -08:00
Juan Batiz-Benet
6fe7431597 Merge pull request #482 from jbenet/fix-spdystream
bugfix in spdystream
2014-12-31 00:41:54 -08:00
Juan Batiz-Benet
0fe9f0603b bugfix in spdystream
and updated go-peerstream

cc @whyrusleeping
2014-12-31 00:34:05 -08:00
Brian Tiger Chow
94b5b528aa Merge pull request #481 from jbenet/fix/diag
fix panic in net diag
2014-12-30 18:38:43 -05:00
Jeromy
37f79bc552 fix panic in net diag 2014-12-30 22:06:32 +00:00
Juan Batiz-Benet
1c5701cab9 Merge pull request #477 from jbenet/stream-close-fix
updated go-peerstream (close fix)
2014-12-28 04:10:50 -08:00
Juan Batiz-Benet
5c2cc6089f updated go-peerstream (close fix) 2014-12-28 04:05:57 -08:00
Brian Tiger Chow
7e0ea18e79 Merge pull request #476 from jbenet/epictest-race-fix
epictest race fix
2014-12-28 07:05:42 -05:00
Brian Tiger Chow
0587342591 doc: specify iteration order randomization 2014-12-28 06:51:33 -05:00
Juan Batiz-Benet
6bd4a6ddb2 epictest: fix mn.Peers() setup race
@maybebtc the error was not inside mocknet. the error is in
assuming the peers / nets returned follow the same order.
See:
- https://github.com/jbenet/go-ipfs/blob/master/epictest/addcat_test.go#L100
- https://gist.github.com/jbenet/a39bb9d2f16532a03bb8

if you want the results to be sorted by peer.ID before they
are returned, we can totally do that, but that's probably an
unsafe assumption to make in general-- if you do your
initialization async, the number of networks or peers may have
changed between the two calls. LMK what you prefer.

(thank you golang map chaosmonkey ;)
2014-12-27 22:59:35 -08:00
Juan Batiz-Benet
bbcddd6c1f muxer: log precisely which muxer (useful in tests) 2014-12-27 22:55:57 -08:00
Juan Batiz-Benet
2877e2e986 epictest: add setup logging 2014-12-27 22:55:34 -08:00
Brian Tiger Chow
5372f4c4d4 Merge pull request #475 from jbenet/fix-ctx-frac
frac ctx - skip time tests in travis
2014-12-26 10:43:03 -05:00
Juan Batiz-Benet
5999ae8d0d frac ctx - skip time tests in travis 2014-12-25 14:23:18 -08:00
Juan Batiz-Benet
c1cd27851e Merge pull request #474 from jbenet/hotfix/core-mock
hotfix(core/mock) set Network field
2014-12-25 13:58:50 -08:00
Brian Tiger Chow
07fa9eecbd hotfix(core/mock) set Network field 2014-12-25 15:20:54 -05:00
Brian Tiger Chow
95ba056ec3 Merge pull request #470 from jbenet/feat/use-mocknet
use `net/mocknet` in integration tests
2014-12-25 04:11:46 -05:00
Brian Tiger Chow
513c5687ed rename 2014-12-25 04:07:16 -05:00
Brian Tiger Chow
1891c8915d feat: test the three-legged cat 2014-12-25 04:07:16 -05:00