- 06 Sep, 2018 2 commits
-
-
Kejie Zhang authored
-
Kejie Zhang authored
-
- 05 Sep, 2018 2 commits
-
-
Kejie Zhang authored
-
Kejie Zhang authored
-
- 22 Aug, 2018 1 commit
-
-
Steven Allen authored
-
- 15 Aug, 2018 1 commit
-
-
Steven Allen authored
-
- 11 Aug, 2018 1 commit
-
-
Kevin Atkinson authored
-
- 12 Jul, 2018 1 commit
-
-
Steven Allen authored
-
- 09 Jun, 2018 1 commit
-
-
Steven Allen authored
-
- 15 Feb, 2018 1 commit
-
-
Steven Allen authored
close the node channel in GetMany in the test dag
-
- 25 Jan, 2018 1 commit
-
-
Steven Allen authored
-
- 20 Jan, 2018 1 commit
-
-
Steven Allen authored
-
- 11 Dec, 2017 1 commit
-
-
Steven Allen authored
Extract dagservice and friends from go-ipfs
-
- 05 Dec, 2017 1 commit
-
-
Steven Allen authored
-
- 16 Nov, 2017 4 commits
-
-
Steven Allen authored
I considered (well, implemented then threw it away) allowing contexts on all calls to Batch (Add, Commit, etc). However, really, you should treat a batch as a single large "operation". I also went down the road of generalizing batches to sessions. However, it became immediately obvious that permitting add *and* remove *and* fetch would require a lot of bookkeeping and that you'd lose a lot of performance. So, we'll do that separately.
-
Steven Allen authored
We'll need these for slower/remote datastores.
-
Steven Allen authored
-
Steven Allen authored
The caller can just call `node.Cid()` and returning CIDs from `AddMany` requires allocation.
-
- 15 Nov, 2017 1 commit
-
-
Steven Allen authored
1. Add is already idempotent. This makes remove match. 2. Generally, all we care about is that the node no longer exists in the DAG. If two callers remove a node at the same time, they should both succeed. Currently, we *ignore* the result of Remove in go-ipfs. IMO, it would be better to let errors be *errors* and only return an error if something goes wrong. 3. This can be significantly faster. It allows us to batch/queue removes (as long as we guarantee that they'll eventually happen). 4. This matches how most databases/key-value stores operate. An alternative would be to return `(deleted bool, err error)` but then we don't get the speedup.
-
- 16 Oct, 2017 16 commits
-
-
Steven Allen authored
-
Steven Allen authored
(ipfs/go-ipfs#4296) 1. Modern storage devices (i.e., SSDs) tend to be highly parallel. 2. Allows us to read and write at the same time (avoids pausing while flushing). fixes https://github.com/ipfs/go-ipfs/issues/898#issuecomment-331849064
-
Steven Allen authored
It really just doesn't fit. We're working on making this method obsolete anyways.
-
Steven Allen authored
Keep merkledag clean.
-
Steven Allen authored
-
Steven Allen authored
This will allow many consumers of `DAGService` to take `NodeGetter` instead and implementing `GetMany` for all `NodeGetter`s is pretty trivial.
-
Steven Allen authored
We're going to want to do this eventually and we have to refactor anyways so we might as well do this now. Fixes ipfs/go-ipfs#4010
-
Steven Allen authored
-
Steven Allen authored
We'll just live with this name.
-
Steven Allen authored
-
Steven Allen authored
Also: 1. Specify the threading guarantees. 2. Vastly simplify it to use a single channel for synchronization.
-
Steven Allen authored
-
Steven Allen authored
This way, not *all* DAGServices need to implement this interface, they can just implement it as an optimization.
-
Steven Allen authored
-
Steven Allen authored
This is a WIP/RFC attempt at extracting DAGService from go-ipfs.
-
Steven Allen authored
-
- 29 Aug, 2017 2 commits
-
-
Steven Allen authored
gx: update go-cid, go-multibase, base32
-
Steven Allen authored
-
- 11 Jul, 2017 3 commits
-
-
Steven Allen authored
-
Jakub Sztandera authored
rework block decoding framework
-
Steven Allen authored
1. Use an interface instead of a map so that we can define fancier block decoders. 2. Make DefaultBlockDecoder thread safe.
-