Commit Graph

2988 Commits

Author SHA1 Message Date
Juan Batiz-Benet
bf1690f42e fixed fd leaks in go-reuseport 2015-01-23 16:17:49 -08:00
Juan Batiz-Benet
343940dafa Merge pull request #583 from jbenet/bootstrap-fix
add periodic bootstrapping
2015-01-23 05:43:44 -08:00
Juan Batiz-Benet
5c33b75b59 p2p/net/conn: timeouts are real failures. 2015-01-23 05:25:32 -08:00
Juan Batiz-Benet
4a5f5e2e2b reprovide: wait a minute before reproviding
Many times, a node will start up only to shut down immediately.
In these cases, reproviding is costly to both the node, and the
rest of the network. Also note: the probability of a node being
up another minute increases with uptime.

TODO: maybe this should be 5 * time.Minute
2015-01-23 05:25:32 -08:00
Juan Batiz-Benet
95d58b2a4a core: cleaned up bootstrap process 2015-01-23 05:25:31 -08:00
Juan Batiz-Benet
dd9c1b6243 core/bootstrap: CR comments 2015-01-23 02:08:30 -08:00
Juan Batiz-Benet
d6ce837d72 core/bootstrap: cleaned up bootstrapping
Moved it to its own package to isolate scope.
2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
c43f97d64e updated goprocess, for periodic 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
010cedf0a9 ipfs swarm peers: sort output 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
773ee2e25d p2p/proto/id: more helpful log 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
8e9413bd57 p2p/proto/mux: make log more useful 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
5259cf06d6 dht: kick off all the queries wit every node in our rt
s/kademlia calls for makign sure to query all peers we
have in our routing table, not just those closest. this
helps ensure most queries resolve properly.
2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
486536149e dht/query: err return NotFound case
When some queries finished, but we got no result, it should
be a simple NotFoundError. Only when every single query ended
in error do we externalize those to the client, in case
something major is going wrong
2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
9cd975ce36 dht/bootstrap: timeout queries 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
1493c9d80a dht/bootstrap: logging 2015-01-23 02:08:29 -08:00
Juan Batiz-Benet
ec848c486b core: call dht bootstrap 2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
8966743ebd try less aggressive bootstrap 2015-01-23 02:08:28 -08:00
Jeromy
65b657e0ea stream back diagnostic responses as they are received 2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
f6278735ef net/diag: recursively decrement timeouts.
Not sure this works. we dont have tests for net diag.
We should make some.
cc @whyrusleeping.
2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
898b9696ca diag/net: add timeout param to cmd 2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
c64338a816 diag/net: io must respect timeout ctx
See the discussion below. A future commit will implement the closer
change below, and rebase this one on top.

<•jbenet> `n.Diagnostics.GetDiagnostic(time.Second * 20)` is not being respected. should it use a context instead? or is it a timeout because the timeout is sent to other nodes?
<•jbenet> oh it's that the io doesnt respect the context so we're stuck waiting for responses.
<•jbenet> this is that complex interface point between the world of contexts, and the world of io. ctxutil.Reader/Writer is made for this, but you have to make sure to defer close the stream. (see how dht_net uses it). i'd love to find a safer interface. not sure what it is, but we have to a) respect contexts, and b) allow using standard io.Reader/Writers. Maybe TRTTD
<•jbenet> is have ctxutil.Reader/Writer take ReadCloser and WriteClosers and always close them. the user _must_ pass an ioutil. NopCloser to avoid ctxutil closing on you when you dont want it to.
<•jbenet> this seems safer to me in the general case.
2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
82d38a2692 routing/dht: periodic bootstrapping #572 2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
37f91419d7 Merge pull request #619 from jbenet/reuseport-fix
reuseport: respect dialer timeout
2015-01-23 01:59:55 -08:00
Juan Batiz-Benet
1ec8874077 p2p/net/swarm + conn: logs + debugerr output 2015-01-23 01:52:42 -08:00
Juan Batiz-Benet
0821a5bd53 p2p/net/swarm: half the timeout of dial 2015-01-23 01:52:41 -08:00
Juan Batiz-Benet
10ae01f624 p2p/net/swarm/addr: check for nil addr 2015-01-23 01:46:56 -08:00
Juan Batiz-Benet
8d08e1e3d6 reuseport: respect dialer timeout 2015-01-23 01:46:55 -08:00
Jeromy Johnson
e901a8e800 Merge pull request #623 from jbenet/unix-cat-fix
fix interface for coreunix.Cat, now takes a path
2015-01-22 23:00:01 -08:00
Jeromy
eb6afd3edc fix interface for coreunix.Cat, now takes a path 2015-01-23 06:39:20 +00:00
Brian Tiger Chow
4dc5906b18 Merge pull request #618 from jbenet/refactor/core-corehttp
refactor(core) extract http
2015-01-22 12:15:58 -08:00
Brian Tiger Chow
fadede6cb2 separate concerns 2015-01-22 01:28:40 -08:00
Brian Tiger Chow
fadedf9e68 refactor(core) extract corehttp package
PACKAGE DOCUMENTATION

package corehttp

    FUNCTIONS

    func GatewayOption(n *core.IpfsNode, mux *http.ServeMux) error

    func ListenAndServe(n *core.IpfsNode, addr ma.Multiaddr, options
    ...ServeOption) error

    func WebUIOption(n *core.IpfsNode, mux *http.ServeMux) error

    TYPES

    type ServeOption func(*core.IpfsNode, *http.ServeMux) error

    func DaemonOption(cctx commands.Context) ServeOption
2015-01-22 01:08:59 -08:00
Brian Tiger Chow
786406bd86 Merge pull request #588 from jbenet/misc/2015-01-16
Miscellaneous changes
2015-01-21 17:12:28 -08:00
Brian Tiger Chow
bb89e0d8d7 misc(bitswap): shorten comment and rename var 2015-01-21 17:09:40 -08:00
Brian Tiger Chow
2f247f3355 rm logging statements and inline send 2015-01-21 17:09:40 -08:00
Brian Tiger Chow
129d413f0e chore(bitswap): rm todo 2015-01-21 17:09:40 -08:00
Brian Tiger Chow
3d3ac08fcf chore(bitswap): rm debug log (covered by eventlog) 2015-01-21 17:09:39 -08:00
Brian Tiger Chow
aa4c0d1b90 fix(bitswap): release the lock last
The area above the lock was getting big. Moving this up to avoid
mistakes down the road.
2015-01-21 17:09:39 -08:00
Brian Tiger Chow
df9e6ce640 refactor: rename IPFS_DIR -> IPFS_PATH
closes #394 https://github.com/jbenet/go-ipfs/issues/394
2015-01-21 17:09:39 -08:00
Juan Batiz-Benet
f6111d82fe Merge pull request #558 from jbenet/feat/gc
initial implementation of repo-gc command
2015-01-21 16:48:28 -08:00
Brian Tiger Chow
43191299c1 Merge pull request #606 from jbenet/fix-424-blockservice-async-HasBlock
fix #424: when adding blocks, provide to exchange asynchronously
2015-01-21 16:19:17 -08:00
Jeromy
1244fd251d update tests, and ensure 'default' blocks are pinned 2015-01-22 00:16:30 +00:00
Brian Tiger Chow
fadede41fc deduplicate blocks in queue 2015-01-21 15:17:10 -08:00
Jeromy
8e7d984751 updates from PR, tests tests tests! 2015-01-21 08:55:50 +00:00
Brian Tiger Chow
bf53888152 log err 2015-01-20 23:44:09 -08:00
Brian Tiger Chow
a6a6452692 fix(blockservice/worker) replace time.Tick with a timer we can stop 2015-01-20 23:43:21 -08:00
Brian Tiger Chow
e3c9f6db50 extract context func
@jbenet

would like it to work this way
2015-01-20 23:43:21 -08:00
Brian Tiger Chow
326e6f2a42 use rate-limiter
@jbenet
2015-01-20 23:43:21 -08:00
Brian Tiger Chow
ed019e2f7d one worker 2015-01-20 23:43:21 -08:00
Brian Tiger Chow
721ff57263 fix(blockservice) fully async exchange.HasBlock 2015-01-20 23:43:21 -08:00