Commit Graph

3368 Commits

Author SHA1 Message Date
Brian Tiger Chow
887fbe4a8e style(fsrepo) change func to method to be consistent 2015-01-14 08:41:45 -08:00
Brian Tiger Chow
9f67ede6b2 refactor(fsrepo) extract component.Component 2015-01-14 08:41:44 -08:00
Brian Tiger Chow
f37646bf19 refactor(fsrepo) add interface to make it easier to understand how to extend the package 2015-01-14 08:41:44 -08:00
Brian Tiger Chow
c364b4c34c refactor(fsrepo): extract configCompoenent
The struct was getting unmanageable. extracted the config component to
reduce complexity. The datastore will be written as another component.
2015-01-14 08:41:44 -08:00
Brian Tiger Chow
9acc02461e test(fsrepo) harden tests 2015-01-14 08:41:44 -08:00
Brian Tiger Chow
9a054c5800 doc(fsrepo) 2015-01-14 06:08:42 -08:00
Brian Tiger Chow
ac530d0ab6 refactor(fsrepo) move Close under Open 2015-01-14 06:08:36 -08:00
Brian Tiger Chow
70dab069bd doc(fsrepo) 2015-01-14 06:08:30 -08:00
Brian Tiger Chow
6ec60ba861 feat(fsrepo): document lock usage and make the fsrepo thread-safe
fix(fsrepo): extract private, unsynced method to prevent deadlock
2015-01-14 03:57:52 -08:00
Brian Tiger Chow
a3d2362691 use a single coarse package lock 2015-01-14 03:02:24 -08:00
Brian Tiger Chow
53e6a9bd1a fix(fsrepo): remove the Closer after closing it. 2015-01-14 03:02:23 -08:00
Brian Tiger Chow
6ec20b3574 huh 2015-01-14 03:02:23 -08:00
Brian Tiger Chow
76202a9444 fix(repo): clean the path before using it
no issue detected but it's good to be safe
2015-01-14 03:02:23 -08:00
Brian Tiger Chow
40e41d24f7 feat(fsrepo): protect with a repo lockfile
NB: daemon is one spot the repo lock is typically acquired
2015-01-14 03:02:23 -08:00
Brian Tiger Chow
67c161fb72 doc todo 2015-01-14 03:02:23 -08:00
Brian Tiger Chow
9700d2f94b use atomicfile for safer writes
for now, allow daemon and client to both hit config
2015-01-14 03:02:23 -08:00
Brian Tiger Chow
aacf871955 officially move to Go 1.4
@jbenet @whyrusleeping thoughts?
2015-01-14 03:02:22 -08:00
Brian Tiger Chow
acbd9a2204 rm unused function 2015-01-14 03:02:22 -08:00
Brian Tiger Chow
9a7fbe3210 doc(fsrepo): Roadmap 2015-01-14 03:02:22 -08:00
Juan Batiz-Benet
b8757d18ef diag/net: visualizing in d3 and dot
Try it out:

```
ipfs net diag --vis=d3 | diagnostics/d3/d3view
```

Notes: this is not the best way to do it, because it
breaks `--encoding=json`. Not sure what the best way is, and
right now this provides more utility than the other.
2015-01-13 23:49:35 -08:00
Juan Batiz-Benet
6959b4f032 p2p/net/swarm: fix travis env flag val
the travis docs say the env flag TRAVIS=true but, i want
to make absolutely sure. explicitness leaves less room for
error.
2015-01-13 23:34:28 -08:00
Juan Batiz-Benet
920ddc7fc3 Merge pull request #553 from jbenet/serial-file
Serial File Opening
2015-01-13 23:30:08 -08:00
Juan Batiz-Benet
07b35e6a59 Merge pull request #545 from jbenet/stdin-input
Stdin Input
2015-01-13 23:27:04 -08:00
Matt Bell
86bb8ca7a7 core/commands: Enabled stdin for various command arguments 2015-01-13 22:51:11 -08:00
Matt Bell
70adc21d08 core/commands: Enable stdin arguments for 'add' and 'cat', resolves #542 2015-01-13 22:51:10 -08:00
Matt Bell
78d36230d5 commands/cli: When parsing stdin as string argument, split lines into separate tokens 2015-01-13 22:51:10 -08:00
Matt Bell
dbb5118d76 commands/files: Fixed tests 2015-01-13 22:50:54 -08:00
Matt Bell
f8347f925c commands/files: Made ReaderFile take ReadClosers instead of trying to cast reader to Closer 2015-01-13 22:50:54 -08:00
Matt Bell
a2b3402aa4 commands/http: Fixed package import in tests 2015-01-13 22:50:54 -08:00
Matt Bell
9ba728532f commands/files: Created SerialFile, which opens directory contents serially 2015-01-13 22:50:53 -08:00
Matt Bell
7a579bbf79 commands: Moved files code into 'commands/files' subpackage 2015-01-13 22:50:53 -08:00
Juan Batiz-Benet
b6670da5ac Merge pull request #557 from jbenet/swarm-fix-racey-test
p2p/net/swarm: fix racey test
2015-01-13 22:49:57 -08:00
Juan Batiz-Benet
670b2b59b5 p2p/net/swarm: fix racey test 2015-01-13 22:46:41 -08:00
Juan Batiz-Benet
f068c89147 reprovide: move core's reprovider into online services 2015-01-13 22:12:37 -08:00
Jeromy
3269986e42 basic reprovider implementation
make vendor
2015-01-13 22:12:37 -08:00
Juan Batiz-Benet
dc6b548094 vendor fixed go-fuse-version 2015-01-13 22:12:29 -08:00
Juan Batiz-Benet
102c43a3b1 Merge pull request #551 from jbenet/fix-swarm-more-connect
p2p/net/swarm: more connection bugs
2015-01-13 09:17:19 -08:00
Juan Batiz-Benet
d9a815b3a0 p2p/net/swarm: nicer test timeouts for travis 2015-01-13 08:42:46 -08:00
Juan Batiz-Benet
1272bb6651 p2p/net/swarm: parallelize tests. poor travis. 2015-01-13 08:16:02 -08:00
Juan Batiz-Benet
baf2541237 p2p/net/swarm: extensive dial tests 2015-01-13 08:15:26 -08:00
Juan Batiz-Benet
7f3a651f5d p2p/net/swarm: sync diagram explain 2015-01-13 08:14:35 -08:00
Juan Batiz-Benet
f58276d6d2 p2p/net/swarm: async grabbing of best conn
this is actually pretty important in case some peers end
up changing addrs, so others dont fail dialing simply for
picking the wrong addr to start with.
2015-01-13 08:13:32 -08:00
Juan Batiz-Benet
9689b280e6 p2p/net/swarm: configurable timeout for tests 2015-01-13 08:12:45 -08:00
Juan Batiz-Benet
af889dc182 p2p/net/swrm: InterfaceListenAddrs now method 2015-01-13 05:58:49 -08:00
Juan Batiz-Benet
70ceaa975d p2p/net/swarm: dial backoff
This commit introduces a backoff when failing to dial
peers. It makes everything much faster.
2015-01-13 05:04:12 -08:00
Juan Batiz-Benet
8de8ed0842 p2p/net/swarm: dial timeout to 10s + dialer 2015-01-13 04:08:08 -08:00
Brian Tiger Chow
e5bd30b349 Merge pull request #546 from jbenet/feat/repo-fsrepo
feat(repo): FSRepo
2015-01-13 03:37:53 -08:00
Juan Batiz-Benet
5b4a3c09bd p2p/net/swarm: more connection bugs
* filtering InterfaceListenAddresses(s) instead
* return error if for loops skip
* large dial timeout
2015-01-13 03:32:15 -08:00
Brian Tiger Chow
01f54d6966 refactor(fsrepo.test) use TempDir
@jbenet
2015-01-13 03:09:33 -08:00
Brian Tiger Chow
3eafb3e5ab style(repo): repo.Interface -> repo.Repo
The pkg.Interface style is modeled after heap.Interface. Generally, I
find it helpful for interfaces that have many implementations. It
provides clear distinction between the generic interface and the |n|
implementations that implement it (which may be interface types
themselves).

For clients who cannot keep the repo name, one can imagine that the most
likely rename is `ipfsrepo`. In that case, `ipfsrepo.Interface` remains
meaningful.

This is low-pri so it doesn't matter than much. But for the record, the
repo.Interface feels appropriate in this use-case.
2015-01-13 03:09:33 -08:00