Commit Graph

153 Commits

Author SHA1 Message Date
Jeromy e26950ff77 swarm: implement new DialSync manager code 2016-09-08 10:37:15 -07:00
Jeromy 71efb2ccb2 swarm: perform backoff check before taking dialsync lock 2016-09-07 18:48:22 -07:00
Jeromy Johnson b45c89792d Merge pull request #104 from libp2p/fix/secio-hs-errs
swarm: externalize secio handshake errors
2016-09-06 17:59:53 -04:00
Jeromy 5758d3e652 swarm: externalize secio handshake errors 2016-09-05 14:48:28 -07:00
Jeromy 324aae38f1 swarm: add optimized method for checking connectedness to peer 2016-09-05 13:25:24 -07:00
Jeromy 9a9a8de2c7 don't wrap conns with metrics if bwc is nil 2016-09-04 10:50:07 -07:00
Jeromy a56440a9c7 swarm: pass in stream muxer on construct 2016-09-04 08:13:36 -07:00
Jeromy 978b186d81 swarm: refactor to make modular construction easier 2016-09-03 10:43:27 -07:00
Jeromy Johnson 40a5c58c00 Merge pull request #53 from libp2p/feat/exp-ws-support
add in experimental websocket support
2016-08-26 15:06:50 -07:00
Jeromy faced1efd2 add note to test failure 2016-08-24 13:03:30 -07:00
Jeromy b1456b79b6 add in experimental websocket support 2016-08-24 09:42:27 -07:00
Jeromy 0b90707e39 update transport dep and add host test 2016-08-22 20:40:17 -07:00
Jeromy 00fa664611 use peerstore for protocol preferencce storage 2016-08-22 19:03:40 -07:00
Jeromy f21d06fbf0 update peerstore dep 2016-08-22 18:16:06 -07:00
Jeromy Johnson 287383a75a sleep before final connectedness check 2016-08-18 11:19:20 -07:00
Jeromy f74add8a19 swarm: make stream.Protocol() return type protocol.ID 2016-08-18 11:16:01 -07:00
Jeromy 36c66c0e93 host: add wait for handshake in proto preknowledge test 2016-08-18 11:16:01 -07:00
Jeromy fc64ec9027 host: add tests for protocol preferences in host 2016-08-18 11:16:00 -07:00
Jeromy e51398525a host: pre-seed preferred protocols with info from identify 2016-08-18 11:16:00 -07:00
Jeromy 7a3394b1da host: remember which protocols work for a given peer 2016-08-18 11:16:00 -07:00
Jeromy Johnson d846840062 Merge pull request #80 from libp2p/lint/fix-some-linting
lint: fixed a bunch of issues reported by gometalinter
2016-08-17 16:51:21 -07:00
Jeromy Johnson 3c59725221 Merge pull request #87 from libp2p/cover/swarm
p2p/net/swarm: improve code coverage
2016-08-17 16:48:41 -07:00
Jeromy 46eafb52f3 p2p/net/swarm: improve code coverage 2016-08-16 15:04:24 -07:00
Jeromy de84a41402 identify: log protocols from remote peers in peerstore 2016-08-16 13:22:13 -07:00
Jeromy 6635e3d7f5 p2p/host: expose multistream function matching and add semver func 2016-08-16 13:04:16 -07:00
Jeromy e90e01708a lint: fixed a bunch of issues reported by gometalinter 2016-08-10 21:48:23 -07:00
Jeromy 8744e460da update local import paths to reflect org change 2016-08-10 09:59:14 -07:00
Jeromy c0e2b930e3 update multistream deps and fix code to work with new changes 2016-08-10 09:48:34 -07:00
John Steidley 5c8093b073 gosimple 2016-07-23 13:24:45 -07:00
Jeromy Johnson e01a63aed8 Merge pull request #76 from ipfs/feat/expose-backoff
expose backoff manager in swarm
2016-07-04 12:14:56 -07:00
Jeromy 45f9b5ae0f expose backoff manager in swarm 2016-07-03 13:28:06 -07:00
Jakub Sztandera 9f7b0b81b5 Fix logging in id.go 2016-06-27 19:26:33 +02:00
Jeromy 9ccbf103e0 bump agent version to match repo version 2016-06-20 10:57:33 -07:00
Jeromy eca66a8891 fix minor race condition in nat detection code 2016-06-15 11:07:30 -07:00
Jeromy 51c5f6a063 fix consumption of observed remote addrs 2016-06-01 13:41:25 -07:00
Jeromy Johnson 4a2bc51c29 Merge pull request #38 from ipfs/sketch/dial-redo
refactor swarm dialing logic
2016-06-01 11:41:26 -07:00
Jeromy 6dddefe20c improve comment on temp code 2016-06-01 10:02:26 -07:00
Jeromy 916bc557c3 split peerstore from peer package 2016-05-31 16:24:11 -07:00
Jeromy 9edbb2d932 test cleanup 2016-05-31 09:41:17 -07:00
Jeromy 84d4e76e2f address CR feedback 2016-05-31 09:41:17 -07:00
Jeromy b54202e768 refactor locking order structure 2016-05-31 09:41:17 -07:00
Jeromy b6f19a5591 don't execute cancelled jobs 2016-05-31 09:41:17 -07:00
Jeromy d899b07f17 Refactor the swarm dialer 2016-05-31 09:41:17 -07:00
Jeromy f483c47187 don't leak goroutines when pings complete 2016-05-30 12:39:30 -07:00
Jeromy d7edac0da3 yamux patches to help mitigate hanging issue 2016-05-15 18:58:23 -07:00
Jeromy 6dc5e19c54 close wait channel in all cases, not just success 2016-05-14 23:49:32 -07:00
Jeromy de1d675417 update muxers, includes yamux deadlock fix 2016-05-13 10:59:16 -07:00
Jeromy 2d0c57e7d3 add env var for overriding muxer prefs 2016-05-05 20:38:17 -07:00
Jeromy Johnson 0436764ffa Merge pull request #44 from ipfs/fix/dial-read-deadline
add a read deadline for the multistream select on dial
2016-04-27 15:52:44 -07:00
Jeromy b0ad207270 rewrite all package paths to dvcs 2016-04-27 12:59:04 -07:00
Jeromy d8a6d25b8c add a read deadline for the multistream select on dial 2016-04-27 12:17:08 -07:00
Jeromy 15b28dc0ce recursive dependency update of utp lib 2016-04-27 10:12:51 -07:00
Jeromy Johnson bd600922d3 Merge pull request #36 from ipfs/filter-ip6
Fix address filtering for /ip6, add tests
2016-04-12 20:46:34 -07:00
Jeromy 4f82ae5e62 move some deps out as gx packages 2016-04-11 23:24:32 -07:00
Jeromy 261b113530 add a test with connections timing out 2016-04-11 11:06:22 -07:00
Lars Gierth 2b226b9b5a Fix address filtering for /ip6, add tests
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-04-10 23:50:39 -07:00
Jeromy e123a79f92 make test smaller for osx 2016-04-10 11:32:17 -07:00
Jeromy d3a90434f1 add test to show concurrency of dials 2016-04-10 11:05:53 -07:00
Jeromy 9d44390084 address feedback from CR 2016-04-10 10:21:25 -07:00
Jeromy b938ab9ab6 Handle incoming conns in their own goroutines
Doing the multistream negotiation in sync causes hanging issues.
This commit accepts transport connections and starts the negotiation
in a separate goroutine, sending it down a channel when its ready.
2016-04-09 23:02:23 -07:00
Jeromy 0d2ae7b73f don't break listener on failed msmux negotiation 2016-04-06 18:41:59 -07:00
Jeromy cb974e87c1 rename protocols after discussion 2016-04-06 13:06:05 -07:00
Jeromy 9c68f44a14 version multistream protocol tags 2016-04-06 12:14:06 -07:00
Jeromy 60d096098e use different protocol tag for unencrypted transport 2016-04-06 11:32:17 -07:00
Jeromy 200d7a872f add multistream select to select which crypto to use 2016-04-06 11:18:03 -07:00
Jeromy c7cc7482e3 update utp lib 2016-03-29 18:38:24 -07:00
Jeromy 90a6977bd9 fix accidental find and replace fail 2016-03-29 18:11:59 -07:00
Jeromy ec85e0bbdf bump yamux backlog setting way up 2016-03-08 17:40:52 -08:00
Jeromy 955ae93a4b switch to new version of go-stream-muxer 2016-03-07 22:43:13 -08:00
Jeromy 5ec1f553f0 fix fallback code and add a few new tests 2016-03-04 16:16:58 -08:00
Jeromy 1b84a1cc9d Add fallback dialer
Previously we were unable to dial on a given transport if there were no
listener addresses defined for that. This meant that most people couldnt
use utp (as they had no utp listener transport to dial from).
2016-03-04 09:27:52 -08:00
Jeromy 648902840d use multiaddr format to do validation of addresses 2016-03-03 14:56:00 -08:00
Jeromy 7b48e5bc4d update version of go-multiaddr 2016-03-03 13:03:24 -08:00
Jeromy 7d1706f7ab make mdns service tag conform to standards 2016-03-01 23:24:29 -08:00
Jeromy 1deeb429fb record ping latencies in peerstore 2016-02-21 09:51:43 -08:00
Jeromy e4934f1014 add remote multiaddr from active connection to peerstore 2016-02-16 21:25:00 -08:00
Jeromy 98c7ca0d86 finish deps rewrite 2016-02-16 17:02:00 -08:00
Jeromy c14ec1c4dc change listener errors to warnings 2016-02-13 16:22:20 -08:00
Jeromy 8d928334b5 make PeerInfo loggable 2016-02-10 09:32:01 -08:00
Jeromy 62af652294 update to utp code from master of go-ipfs 2016-01-30 17:12:33 -08:00
Randall Leeds f580951130 Leave overflow logic to go-msgio
go-msgio implements the message length limit (currently 8MB), so the
secio reader can get away without re-implementing this logic.

Instead, the reader lets go-msgio allocate a buffer when the output
buffer is too small to hold the incoming message. This buffer is kept
and drained into the output buffer(s) of Read() calls and released back
to the msgio instance once it is fully drained.

License: MIT
Signed-off-by: Randall Leeds <randall@bleeds.info>
2016-01-29 17:45:17 -08:00
Jeromy c441a14b69 add utp to have feature parity with go-ipfs 2016-01-05 14:24:02 -08:00
Jeromy ada8212cac path rewrites 2016-01-04 05:45:58 -08:00
Jeromy 451945c2c5 vendor fixing 2015-12-11 11:23:29 -08:00
Jeromy d91b419ecf WIP 2015-12-06 23:11:16 -08:00
Jeromy 1c6efef4f8 vendor in go-detect-race 2015-11-23 17:04:47 -08:00
Jeromy dafa3bf917 make new stream calls accept a context 2015-11-19 16:20:59 -08:00
Jeromy 9d40a0af19 migrate to gx namespace 2015-11-18 16:11:24 -08:00
Jeromy fb31f44627 remove prometheus dep 2015-11-16 17:25:35 -08:00
Jeromy 8acc21e88d Vendor in go-peerstream 2015-11-16 16:47:49 -08:00
Jeromy a9de494fe3 update multiaddr-filter 2015-11-16 16:41:23 -08:00
Jeromy 52a0925681 vendor go-ipfs-util 2015-11-15 21:15:23 -08:00
Jeromy ebd0a2dfb2 remove multiple multihash deps 2015-11-15 21:04:44 -08:00
Jeromy 4a64aae7c6 move testutil up 2015-11-15 19:59:59 -08:00
Jeromy 0c73722a91 vendor in notifier 2015-11-15 18:42:27 -08:00
Jeromy d4b42f8e45 fixes for sha3 2015-11-15 18:28:35 -08:00
Jeromy 8f79df770e vendor in gogo protobuf 2015-11-15 17:54:19 -08:00
Jeromy f3d96ac5db use only gogo protobuf 2015-11-15 17:44:56 -08:00
Jeromy 216db146ca more vendoring 2015-11-15 11:56:01 -08:00
Jeromy e142795053 remove dependency on key 2015-11-13 16:18:52 -08:00