Commit Graph

390 Commits

Author SHA1 Message Date
Whyrusleeping
9ed9ab5772
Merge pull request #4807 from ipfs/feat/coreapi/refactor-opts
coreapi: Refactor options
2018-03-29 16:53:42 -07:00
Hector Sanjuan
69a6bd2770 Revert go-libp2p-kad-dht and related changes to a working version
This uses a working libp2p-kad-dht and libp2p-record libraries,
reverts the changes that were introduced to support the newer versions

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-03-26 22:12:14 +02:00
Hector Sanjuan
30cf14ef9e Replace the rest of thirdparty/datastore2 with go-datastore
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-03-26 22:12:14 +02:00
Hector Sanjuan
3ee1d76d88 Update to latest go-datastore
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-03-26 22:12:14 +02:00
Łukasz Magiera
12c3179614 coreapi: don't use underscores in opt reciever funcs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-25 14:09:59 +02:00
Łukasz Magiera
c354e19628 coreapi: use defined functions for pin type option
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-25 13:58:29 +02:00
Łukasz Magiera
79f56c1831 coreapi: remove options from interfaces
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-24 23:25:11 +01:00
Whyrusleeping
41d82eeeb5
Merge pull request #4733 from dirkmc/feat/namesys-value-count
Add options for record count and timeout for resolving DHT paths
2018-03-23 09:59:26 -07:00
Łukasz Magiera
e54a4f8dd5 coreapi: var block for errors
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-10 22:17:27 +01:00
Łukasz Magiera
fa0fef336d coreapi: minor doc fixes
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-10 18:52:10 +01:00
Łukasz Magiera
f218b69e47 coreapi: split the interface into multiple files
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-10 18:46:45 +01:00
Łukasz Magiera
eff69bbf37 coreapi: don't alias ipld types
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-10 18:31:28 +01:00
Łukasz Magiera
20b59ec1ec coreapi: move unixfs errors to the top
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-10 18:27:21 +01:00
Dirk McCormick
5202f76d1f Syntactic changes
License: MIT
Signed-off-by: Dirk McCormick <dirkmdev@gmail.com>
2018-03-01 15:09:25 -05:00
Dirk McCormick
e8f79c8803 Use variadic options
License: MIT
Signed-off-by: Dirk McCormick <dirkmdev@gmail.com>
2018-02-28 16:57:58 -05:00
Dirk McCormick
1abf8366ee Add options for record count and timeout for resolving DHT paths
License: MIT
Signed-off-by: Dirk McCormick <dirkmdev@gmail.com>
2018-02-23 11:47:30 -05:00
Steven Allen
45756b6d64 fix a bunch of go vet errors
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-02-20 17:37:35 -08:00
Whyrusleeping
2ee4543c3e
Merge pull request #4713 from ipfs/feat/split-path-resolver
Feat: Separate "path" from "path/resolver"
2018-02-20 09:55:36 -08:00
Jeromy
d01bb650b3 dont use bitswap session for cat just yet
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-02-15 16:44:18 -08:00
Hector Sanjuan
93d1a695d4 Feat: Separate "path" from "path/resolver"
Currently the "path" module does two very different things:

* Defines how ipfs paths look like and provides tools to parse/split etc.
* Provides a resolver to resolve paths.

This moves the resolver stuff to `path/resolver` and leaves the
path utilities in `path`.

The result is that now the IPFS `path` package just defines what a path
looks like and becomes a module that can be exported/re-used without problems.
Currently there are circular dependency cycles (resolve_test -> merkledag/utils,
merkledag->path), which the prevent the export of merkledag itself.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-16 00:20:30 +01:00
Hector Sanjuan
758e00bc4c Extract blocks/blockstore package to go-ipfs-blockstore
This extracts the blocks/blockstore package and renames the
blocks/blockstore/util package to /blocks/blockstoreutil
(because util depends on Pin and I don't plan to extract
Pin and its depedencies).

The history of blocks/blockstore has been preserved. It has
been gx'ed and imported. Imports have been rewritten accordingly
and re-ordered.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-15 18:03:41 +01:00
Hector Sanjuan
54d87b4ce0 Extract: routing package to github.com/ipfs/go-ipfs-routing
This extracts the routing package to its own repository
(https://github.com/ipfs/go-ipfs-routing). History has
been preserved. The new module has been gx'ed and published.

Imports have been rewritten and re-ordered accordingly.

An internal dependency to go-ipfs/repo has been removed
by substituting it with the go-datastore.Batching interface.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-14 18:33:52 +01:00
Łukasz Magiera
242c98f44f coreapi: update after rebase
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-02-04 15:29:50 +01:00
Łukasz Magiera
5ea9a3cde2 coreapi: pin tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-02-04 15:29:50 +01:00
Łukasz Magiera
c8cfed5c84 coreapi: implement pin api
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-02-04 15:29:50 +01:00
Łukasz Magiera
064c194b4f coreapi: pin draft
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-02-04 15:29:50 +01:00
Whyrusleeping
d58da74746
Merge pull request #4548 from ipfs/feat/coreapi/block
coreapi: Block API
2018-02-03 15:38:11 -08:00
Whyrusleeping
d1a3fccd34
Merge pull request #4637 from ipfs/gx/update-go-log
gx: update go-log
2018-02-03 15:30:42 -08:00
Łukasz Magiera
e77b938161 coreapi: update block after update
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-02-02 22:57:54 +01:00
Jeromy
1de040d0b7 Use a bitswap session for 'Cat'
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-02-02 12:25:20 -08:00
Steven Allen
b2cbfd299c gx: update go-log
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-31 21:54:22 -08:00
Steven Allen
41d9daf653 minor drive-by code cleanup
We'll dedup the code later, for now:

1. Don't drop errors on the floor.
2. Don't modify anything returned by `Links()` directly...

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-30 20:51:05 -08:00
Łukasz Magiera
bb6bf4ce53 coreapi: block tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-31 00:31:08 +01:00
Łukasz Magiera
b125c89ac7 corapi: block docs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-31 00:31:08 +01:00
Łukasz Magiera
bdc9f6a96a coreapi: implement block API
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-31 00:31:08 +01:00
Łukasz Magiera
219eae7614 coreapi: draft block API
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-31 00:31:08 +01:00
Steven Allen
9c67eb4cf0 fix the coreapi/object import grouping
(while we're at it)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-30 14:22:39 -08:00
Steven Allen
fbf8f5ddbd rename go-ipld-format package name from node to ipld
...to match the recent mass rename in #4610.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-30 14:21:24 -08:00
Steven Allen
b1dbc1c487 fix hidden merge conflicts
Oh for a CI that runs on merge...

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-30 14:16:14 -08:00
Whyrusleeping
4d8b3c9bce
Merge pull request #4492 from ipfs/feat/coreapi/object
coreapi: Basic object API implementation
2018-01-30 13:14:06 -08:00
Steven Allen
f9d935b984 rename import of go-ipld-format from node/format to ipld
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-29 11:55:34 -08:00
Steven Allen
f1aba9764f fix error in test case
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-29 11:32:34 -08:00
Steven Allen
d154b4a990 merkledag: switch to new dag interface
Also:

* Update the blockstore/blockservice methods to match.
* Construct a new temporary offline dag instead of having a
  GetOfflineLinkService method.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-25 15:13:19 -08:00
Steven Allen
8899e98670 fix tests that use invalid peer IDs
Our code now better validates peer IDs.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-25 14:32:40 -08:00
Łukasz Magiera
0377e49590 coreapi: object API tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-25 18:26:57 +01:00
Łukasz Magiera
f6663bd05d coreapi: implement object.Put
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-25 18:25:05 +01:00
Łukasz Magiera
64e2327e22 coreapi: object docs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-25 18:25:05 +01:00
Łukasz Magiera
ae949e3a93 coreapi: Object api review
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-25 18:25:05 +01:00
Łukasz Magiera
529f84726e coreapi: Basic object API implementation
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-25 18:25:05 +01:00
Steven Allen
fe8846fcd7 gx: mass update
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-24 15:58:44 -08:00
ForrestWeston
8637bbce9e docs for coreapi unixfs method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:25:00 -08:00
ForrestWeston
600bd08a72 docs for coreapi name method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:25:00 -08:00
ForrestWeston
252ddc8295 docs for coreapi key method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:25:00 -08:00
ForrestWeston
132c939d24 interface docs for coreapi interface
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:25:00 -08:00
ForrestWeston
704534e51c docs for coreapi dag method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:24:59 -08:00
ForrestWeston
1eee9e207d docs for coreapi method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:24:59 -08:00
Łukasz Magiera
2109cbc172 coreapi: Name tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-02 21:01:03 +01:00
Łukasz Magiera
396c34b4e1 coreapi: key tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 19:00:56 +01:00
Łukasz Magiera
8df2d1a92e coreapi: name/key review suggestions
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 17:38:12 +01:00
Łukasz Magiera
587dc187c6 coreapi: Documentation for Name/Key
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 17:38:12 +01:00
Łukasz Magiera
1c73d48e5b coreapi: name/key functional options
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 17:35:37 +01:00
Łukasz Magiera
1b5fbb09b5 coreapi: Keystore API proposal
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 17:35:37 +01:00
Łukasz Magiera
027f498bc9 coreapi: Name API proposal
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-01-01 17:35:37 +01:00
Łukasz Magiera
db318333ab coreapi: dag review
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-23 04:49:00 +01:00
Łukasz Magiera
f153c01dfa coreapi: functional options for DagAPI
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-20 15:03:13 +01:00
Łukasz Magiera
b40a6f88eb coreapi: add tests for dag
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-20 13:47:32 +01:00
Łukasz Magiera
82924fbedf coreapi: DAG API proposal
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-20 13:44:06 +01:00
Whyrusleeping
9db5471e72
Merge pull request #4453 from ipfs/gx/update-5osgb9
gx: update go-multihash
2017-12-14 17:59:26 -08:00
Łukasz Magiera
eb537a7c8b docs/coreapi: Add some documentation to CoreAPI
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 01:34:49 +01:00
Steven Allen
dfe7ef4fcf gx: update go-multihash
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-12-14 13:09:51 -08:00
Łukasz Magiera
d679d3fcf5 gx: update cbor to 0.2.3
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-10-05 13:54:07 +02:00
Steven Allen
70d6629940 gx: update go-cid, go-multibase, base32
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-09-01 17:46:49 -07:00
Steven Allen
19c3bd82a3 extract update go-testutil
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-08-16 17:23:01 -07:00
Łukasz Magiera
0f234d76ae dag: add option to specify hash
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-08-12 21:49:07 +02:00
Steven Allen
e8f6486a9c gx: update ipldcbor
I previously optimized the IPLD cbor decoder to *not* encode and then re-decode
objects when constructing them with `WrapObject`. Unfortunately, we rely on this
to canonicalize the object before computing the tree/links.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-07-17 13:09:08 -07:00
Jeromy
cccc6a94a3 update go-multihash and bubble up changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-07-11 19:27:43 -07:00
Łukasz Magiera
8ab93aaeb2 Update go-datastore to 1.2.2, go-cid to 0.7.16
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-04 20:18:57 +02:00
Łukasz Magiera
0419e3d14a blocks: update go-ipld-cbor
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-01 02:56:22 +02:00
Steven Allen
13636bef50 blocks: gx import go-block-format
And updated related dependencies.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-06-29 22:12:14 +02:00
Jeromy
a22cae1bce fix coreapi unixfs resolving
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-04-30 21:20:48 -07:00
Jeromy
b15470d548
bubble up updates from go-multihash changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-04-20 20:28:04 +02:00
Jakub Sztandera
6546aeade7
fix: multiple govet warnings
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-24 01:02:50 +01:00
Lars Gierth
ee45b8d32f coreapi: make the interfaces path centric
The new coreiface.Path maps a path to the cid.Cid
resulting from a full path resolution.

The path is internally represented as a go-ipfs/path.Path,
but that doesn't matter to the outside.

Apart from the path-to-CID mapping, it also aims to hold all
resolved segment CIDs of the path. Right now it only exposes
Root(), and only for flat paths a la /ipfs/Qmfoo. In other cases,
the root is nil.

In the future, resolution will internally use
go-ipfs/path.Resolver.ResolvePathComponents and thus always return
the proper resolved segments, via Root(), or a future Segments() func.

- Add coreiface.Path with Cid() and Root().
- Add CoreAPI.ResolvePath() for getting a coreiface.Path.
- All functions now expect and return coreiface.Path.
- Add ParsePath() and ParseCid() for constructing a coreiface.Path.
- Add coreiface.Node and Link which are simply go-ipld-node.Node and Link.
- Add CoreAPI.ResolveNode() for getting a Node from a Path.

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-17 03:47:59 +01:00
Lars Gierth
e260d2fd06 coreapi: smarter way of dealing with the different APIs
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-17 02:35:17 +01:00
Jeromy
b4eeff2d84 update go-multihash and bubble up deps
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-02-12 12:25:41 -08:00
Jeromy
53d47669da bubble up go-datastore deps
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 22:29:38 -08:00
Jeromy
396c629301 update to newer ipld node interface with Copy and better Tree
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-15 18:00:49 -08:00
Lars Gierth
f610e19d3e coreapi: reuse go-ipld-node.Link
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00
Lars Gierth
036ca3a764 coreapi: add Add()
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00
Lars Gierth
46239e8215 coreapi: get going, add Cat() and Ls()
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00