Commit Graph

4835 Commits

Author SHA1 Message Date
Brian Tiger Chow
5313c1ae22 fix(swarm) Dial panic
+/- if len(addresses) is 0, connSetup will be called with nil value for c.
+/- avoid variable reassignment

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 15:07:33 -08:00
Brian Tiger Chow
c67286774c silence verbose output
for higher SnR at IPFS_LOGGING=info

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 15:07:33 -08:00
Brian Tiger Chow
6c419e6af4 style(core) signature
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 15:07:33 -08:00
Brian Tiger Chow
f25893e31a style(net) rm unused error
having an error return value makes the interface a bit confusing to
use. Just ponder... What would an error returned from a predicate
function mean?

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 15:07:33 -08:00
Juan Batiz-Benet
422d342908 Merge pull request #419 from jbenet/refactor/peersafe
refactor(peer) some _minor_ safety features
2014-12-08 15:03:38 -08:00
Brian Tiger Chow
74eb03231d fix(core, peer) helpers to testutil, err handling
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 14:32:52 -08:00
Brian Tiger Chow
c69f6895db feat(peerstore) add peer to peerstore upon instantiation
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
d77c4bb5e0 refactor(peer): create peer through peerstore
for safety!

use mockpeer.WithID methods to create peers in tests

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
73a89e161d refactor(peerstore) s/Get/FindOrCreate
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
1e007791a5 refactor(peer) impl peerstore with map
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
3f63e50c54 fix(peer): use error-checking multiaddr method
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 01:10:25 -08:00
Juan Batiz-Benet
9b73003b97 Merge pull request #413 from jbenet/bootstrap++
feat(bootstrap!) add saturn, neptune, pluto, uranus
2014-12-07 17:53:54 -08:00
Brian Tiger Chow
af01e0a53c add names
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-07 17:45:49 -08:00
Brian Tiger Chow
7ea2b2d80e feat(bootstrap!) add saturn, neptune, pluto, uranus
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-07 17:07:15 -08:00
Juan Batiz-Benet
42d4c79724 Merge pull request #409 from jbenet/no-dupe-send
prevent sending of same block to a peer twice
2014-12-07 13:33:51 -08:00
Jeromy
e22ef19d84 log when dupe block is prevented 2014-12-07 21:03:54 +00:00
Jeromy
e4a8a2ed65 same block cant be sent twice to a peer within a certain time period 2014-12-07 20:54:31 +00:00
Jeromy
39162f2cea prevent sending of same block to a peer twice 2014-12-07 07:54:44 +00:00
Juan Batiz-Benet
6d488bd9f6 Merge pull request #408 from jbenet/update-datastore
Updated Datastore, to have a Has.
2014-12-06 16:29:38 -08:00
Brian Tiger Chow
ee961edef5 rm redundant Has
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-06 16:24:39 -08:00
Juan Batiz-Benet
1192be196b blockstore: Put checks Has first. 2014-12-06 16:22:11 -08:00
Juan Batiz-Benet
3db0da504f updated leveldb 2014-12-06 16:22:10 -08:00
Juan Batiz-Benet
59c1ab2fc3 Merge pull request #406 from jbenet/new-msgio
updated msgio
2014-12-06 16:20:51 -08:00
Brian Tiger Chow
bd5e8b6eed Merge pull request #407 from jbenet/bitswap-blockservice-diplomacy
bitswap blockservice diplomacy
2014-12-06 15:01:39 -08:00
Juan Batiz-Benet
a522a5a532 conn: larger max message.
With the new msgio, we no longer need to bound message sizes for
the sake of buffers. MaxMessageSize should remain though in order
to prevent streaming of huge things. In general, messages shouldn't
be above one MB. This max is now set to 4MB.

If a block happens to be larger, we should split it up.
2014-12-06 11:29:31 -05:00
Juan Batiz-Benet
97e0f73e79 msgio: updated to remove max size 2014-12-06 11:26:47 -05:00
Juan Batiz-Benet
5c64ee90e0 cmds: remove info logging 2014-12-06 10:27:12 -05:00
Brian Tiger Chow
ab565474ca rm unnecessary concurrency
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:33:32 -08:00
Brian Tiger Chow
601a2faa28 move public method to top of file
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:33:30 -08:00
Brian Tiger Chow
9a2f79c42f refactor(bitswap) consolidate HasBlock
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

Conflicts:
	exchange/bitswap/bitswap.go
2014-12-05 23:32:21 -08:00
Brian Tiger Chow
9895af2dff feat(core) using WriteCached, cache Puts for exchange and blockservice
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
c40fe2af17 feat(blockstore) write cache
vendors hashicorp/golang-lru dependency. (Mozilla Public License, version 2.0)

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
670d0244b4 feat(bitswap) make offline exchange query datastore
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
43ff3c5040 style(blockservice) s/Remote/Exchange
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
f7cb6b9963 fix: respect ctx on receive
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 22:54:16 -08:00
Brian Tiger Chow
27bed4b2c8 Merge pull request #395 from jbenet/misc/2014-11-11th-hour
miscellaneous +/- (commands, dht, net)
2014-12-05 21:00:40 -08:00
Brian Tiger Chow
f870948274 fix: multiconn s/Conns()/getConns()
@jbenet

must be getConns to avoid clash with private var

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:28 -08:00
Brian Tiger Chow
697453dfc2 fix(cmd/bootstrap) s/remove/rm
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:28 -08:00
Brian Tiger Chow
251b916ce9 style: readability
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:28 -08:00
Brian Tiger Chow
1026244f13 fix(net/mux) rate-limit producers by handling outgoing message synchronously
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
0f6b1bc73e fix(dht/routing) buffer promise response to prevent resource leak
When performing this "promise" pattern, it is important to
provide a
channel with space for one value. Otherwise the sender may
block forever
in the case of a receiver that decides to abandon the
request. A subtle
detail, but one that is important for avoiding
leaked goroutines.

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow
<brian@perfmode.com>

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
de374226be fix(dht/routing) make GetProviders respect context
This commit makes GetProviders (sync) respect the request context. It
also amends all of GetProviders' callsites to pass a context in. This
meant changing the signature of the dht's handlerfunc.

I think I'll start referring to the request context as Vito Corleone.

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
f756088d26 fix(routing/dht) _always_ close chan on exit of FindProvidersAsync
the important change here is that within FindProvidersAsync, the channel
is closed using a `defer`. This ensures the channel is always closed,
regardless of the path taken to exit.

+ misc cleanup

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Matt Bell
c80a7941d1 commands/cli: Fixed file path formatting on Windows 2014-12-05 20:56:27 -08:00
Matt Bell
5cb39235cc commands/http: Fixed bug with client arg querystring 2014-12-05 20:56:27 -08:00
Matt Bell
4c7a694409 commands/http: Fixed client panic when sending a Request with nil 'Files' 2014-12-05 20:56:27 -08:00
Matt Bell
c91805d7bd core/commands: Fixed build on Windows 2014-12-05 20:56:26 -08:00
Brian Tiger Chow
4882904c3e fix: s/bootstrap rm/boostrap remove
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Brian Tiger Chow
3bdb36614e fix(cmd/id) determine offline-ness with !node.OnlineMode()
It's better to have one mechanism for determining whether we're offline
and to improve the SnR of this mechanism over time. We presently have
too many arbitrary heuristics for determining whether we're running in
offline mode. TRTTD is to use polymorphism to eliminate these
conditional checks. (instantiate the node with offline versions of
routing, network, etc.) It'll clean up the core constructor, make it
easier to create ephemeral nodes, and eliminate a class of errors.

@whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Brian Tiger Chow
65c6bd07bf feat(core/commands): expose commands to allow for the development of high-level interface
+ style: sort command list

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00