1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-28 17:03:58 +08:00

2505 Commits

Author SHA1 Message Date
12549ca8f9 Merge pull request #478 from jbenet/relay
Stream relaying
2015-01-04 00:46:39 -08:00
85e3024731 vendor identify pb
not sure how it wasnt an error
2015-01-02 08:46:47 -08:00
feb5e495f5 use ZeroLocalTCPAddress for network tests
This commit makes all network tests use ZeroLocalTCPAddress
as the initial peer address, and then relies on
net.ListenAddresses()

This should get rid of the tcp addr clash problems.
2015-01-02 08:46:46 -08:00
8fb5cf9578 swap net2 -> net 2015-01-02 08:46:46 -08:00
128e820ccb mocknet: use host 2015-01-02 08:46:46 -08:00
dadb8b775b host interface + services
The separation of work in the p2p pkg is as follows:

- net implements the Swarm and connectivity
- protocol has muxer and header protocols
- host implements protocol muxing + services
- identify took over handshake completely! yay.
- p2p package works as a whole
2015-01-02 08:46:46 -08:00
d322824874 net2: separate protocols/services out.
using a placeholder net2 package so tests continue to pass.
Will be swapped atomically into main code.
2015-01-02 08:46:46 -08:00
ba09447251 mux: close stream on error
remove comment about spdystream. this is now
superceded by go-peerstream interface.
2015-01-02 08:46:46 -08:00
53d190da2c peerstore: AddPeerInfo 2015-01-02 08:46:46 -08:00
0ef035ef08 combined protocol and mux 2015-01-02 08:46:45 -08:00
e0b9a368b8 protocol and muxer pkg 2015-01-02 08:46:45 -08:00
4309d15edb updated msgio (varints) 2015-01-02 08:46:45 -08:00
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
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
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
35c22781ff relay: test across 4 + stress 2015-01-02 08:46:44 -08:00
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
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
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
4d08eb0140 updated multihash (io) 2015-01-02 08:46:44 -08:00
7bbc0084be updated go.crypto/sha3 2015-01-02 08:46:44 -08:00
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
45a1ff0018 Merge pull request #486 from jbenet/blockstore-err-supress
blockstore: suppress exchange error
2015-01-02 08:40:07 -08:00
e5e1942638 blockstore: suppress exchange error 2015-01-02 08:36:36 -08:00
ef182f11ed routing: use debugerror 2015-01-02 08:36:32 -08:00
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
da04d26779 clean up test setup interface 2015-01-02 08:33:42 +00:00
b4c6c87422 Improve readability of getClosestPeers method.
Also remove older useless code.
2015-01-02 07:42:09 +00:00
5af5625805 use query for getClosestPeers 2015-01-02 07:42:08 +00:00
14fc4188be address comments from PR 2015-01-02 07:42:08 +00:00
46aa22e949 some better logging and cleanup 2015-01-02 07:42:08 +00:00
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
b4b6fe2214 a couple small fixes 2015-01-02 07:42:08 +00:00
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
da1387fb97 Merge pull request #484 from jbenet/peerstream-transports
peerstream transports
2015-01-01 23:33:57 -08:00
8acfcebd67 use yamux as go-peerstream transport
go-peerstream update to use github.com/hashicorp/yamux
2015-01-01 23:24:09 -08:00
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
6ad158dd14 swarm test: reporting errors fix 2015-01-01 07:05:39 -08:00
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
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
5f603deecd updated spdystream (lock) 2014-12-31 07:22:00 -08:00
6fe7431597 Merge pull request #482 from jbenet/fix-spdystream
bugfix in spdystream
2014-12-31 00:41:54 -08:00
0fe9f0603b bugfix in spdystream
and updated go-peerstream

cc @whyrusleeping
2014-12-31 00:34:05 -08:00
94b5b528aa Merge pull request #481 from jbenet/fix/diag
fix panic in net diag
2014-12-30 18:38:43 -05:00
37f79bc552 fix panic in net diag 2014-12-30 22:06:32 +00:00
1c5701cab9 Merge pull request #477 from jbenet/stream-close-fix
updated go-peerstream (close fix)
2014-12-28 04:10:50 -08:00
5c2cc6089f updated go-peerstream (close fix) 2014-12-28 04:05:57 -08:00
7e0ea18e79 Merge pull request #476 from jbenet/epictest-race-fix
epictest race fix
2014-12-28 07:05:42 -05:00
0587342591 doc: specify iteration order randomization 2014-12-28 06:51:33 -05:00
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