Commit Graph

109 Commits

Author SHA1 Message Date
Steven Allen
3eba14aa24 gx update
Updates:

* go-kad-dht: Query performance improvements, DHT client fixes, validates
  records on *local* put.
* go-libp2p-swarm/go-libp2p-transport: Timeout improvements.
* go-multiaddr-net: Exposes useful Conn methods (CloseWrite, CloseRead, etc.)
* go-log: fixes possible panic when enabling/disabling events.
* go-multiaddr: fixes possible panic when stringifying malformed multiaddrs,
  adds support for consuming /p2p/ multiaddrs.

fixes #5113
unblocks #4895

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-26 17:11:33 -07:00
Whyrusleeping
9f9ddd561c
Merge pull request #5098 from schomatis/feat/unixfs/fsnode-include-pb
unixfs: integrate `pb.Data` into `FSNode` to avoid duplicating fields
2018-06-13 15:24:24 +08:00
Lucas Molas
934b8b0ddc unixfs: integrate pb.Data into FSNode
To avoid duplicating fields and making the code easier to follow.

Remove all of `FSNode` previous fields in favor on a single `pb.Data` structure
that is not exported. Accessor methods are added only for the necessary internal
fields. This takes up more memory, `pb.Data` is always created inside `FSNode`
and it stays there instead of just being created and destroyed during the
(un)marshal operations.

The removed fields `Data`, `blocksizes` and `Type` had a direct counterpart in
the embedded `pb.Data` structure, in contrast (only) the `subtotal` field
doesn't have one, it was used as a temporary accumulator to track the
`Filesize`, which is now being kept updated on every modification (to ensure the
entire `FSNode` is always at a valid state), so `subtotal` could just be removed
without the addition of any other field (this temporary accumulator  was
obscuring how `Filesize` was computed).

To keep `Filesize` up to date a method was added (`UpdateFilesize()`) to adjust
its value in the two places where the file size could be modified, when changing
its data (in `SetData()`, accessor method added) and when adding or removing
child nodes (in `AddBlockSize()` and `RemoveBlockSize()`).

A constructor method was added (`NewFSNode()`) to initialize the required
fields, like `Type` which is explicitly set, this deprecates the previous
methodology of just calling `new(FSNode)` and relying in the default value of
`pb.Data_DataType` (`Data_Raw`) to avoid an explicit assignment. Also,
`Filesize` is initialized to avoid being left with a `nil` value before
marshaling empty nodes, which would result in a different hash from previous
versions, to be backwards compatible. Previous versions of `GetBytes()` always
set the `Filesize` value, even though it is reflected as an `optional` field in
the `.proto` file (this may be an inaccurate field rule).

Without the duplicated fields the functions `GetBytes()` and `FSNodeFromBytes()`
are now reduced to simple `Marshal()` and `Unmarshal()` operations respectively.

License: MIT
Signed-off-by: Lucas Molas <schomatis@gmail.com>
2018-06-11 09:31:33 -03:00
Steven Allen
85acad9a01 gx update go-log, sys, go-crypto
* go-log
* sys
* go-crypto

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-08 22:36:24 -07:00
Steven Allen
1e9e2f453c update deps
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 17:59:17 -07:00
Hector Sanjuan
df59b29fdc Extract exchange/offline to go-ipfs-exchange offline
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-04-19 12:07:36 +02:00
Łukasz Magiera
2ee5cfb90f fix error style
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-30 09:43:27 +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
Jakub Sztandera
48f706b0f3 fix(mfs): Directory.Path not working, add test
Credit goes to @ridewindx

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2018-03-20 13:55:52 +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
381977476f Extract: chunker: rename "chunk" to "chunker" as it is more consistent
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-08 12:49:39 +01:00
Hector Sanjuan
76d228cf75 Extract chunker: Use last gx'ed go-ipfs-chunker
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-08 12:43:29 +01:00
Hector Sanjuan
1811425aab go-ipfs-chunker: Use the stable gx'ed release
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-08 12:34:51 +01:00
Hector Sanjuan
c613fbec38 WIP: Extract: importers/chunk module as go-ipfs-chunker
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-02-08 12:34:15 +01: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
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
699b2c4bb8 make code-climate happier
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-25 15:43:03 -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
fe8846fcd7 gx: mass update
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-24 15:58:44 -08:00
ForrestWeston
d3f5ee2240 docs for mfs system method impls
License: MIT
Signed-off-by: ForrestWeston <forrest@protocol.ai>
2018-01-22 16:25:00 -08:00
Jeromy
3e6eabba54 Fix memory clearing in adder
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-12-31 13:43:10 -08: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
6401a9191e gx: Update go-datastore to 1.4.0
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-02 14:55:26 -08:00
Steven Allen
76e1da02a8 gx: massive update
Note: This commit is technically broken. However, I need to make a bunch of
cmds changes to make this work and I'd rather not bundle both changes into a
single commit.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-11-20 22:20:27 -08:00
Jan Winkelmann
f287524949 cmd: use go-ipfs-cmds
License: MIT
Signed-off-by: keks <keks@cryptoscope.co>
2017-11-17 15:22:41 +01:00
Kevin Atkinson
d29930c031 Eliminate Prefix field from MFS root, use MkdirOpts.
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-10-19 14:14:49 -04:00
Kevin Atkinson
f2fbfdf291 mfs: inherit CID prefix from from parent directory
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-10-19 14:14:49 -04:00
Kevin Atkinson
a3bd2c23b3 Add "--raw-leaves" option to "ipfs files"
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-10-19 13:00:24 -04:00
Jeromy
94ec788555 update deps for new connmgr code
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-10-14 05:38:52 -07:00
vyzo
4f1edf2570 update go-testutil to 1.1.12
License: MIT
Signed-off-by: vyzo <vyzo@hackzen.org>
2017-10-05 17:11:39 +03: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
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
4b8a9a3f9f Update go-datastore to 1.2.1
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-03 20:17:03 +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
zramsay
c5df8f0796 apply the megacheck tool to improve code quality
License: MIT
Signed-off-by: Zach Ramsay <zach.ramsay@gmail.com>
2017-05-31 16:56:11 -04:00
Kevin Atkinson
9350c513f1 Documentation
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-04-25 23:47:48 -04:00
Kevin Atkinson
076d0bd9b1 merkeldag: change SetPrefix param to a pointer and reset the prefix on nil
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-04-25 23:36:39 -04:00
Kevin Atkinson
518adec022 adder: add support for using CidV1
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2017-04-25 23:36:39 -04: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
Jeromy
65b9716989 fix go vet issues in hamt sharding PR
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-03-23 18:01:57 -07:00
Jeromy
c4c665395a add global config switch for sharding
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-03-23 16:42:31 -07:00
Jeromy
c8af993a8c iterator technique for unixfs dir listing
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2017-03-21 20:19:22 -07:00
Jeromy
bb09ffd756 implement an HAMT for unixfs directory sharding
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2017-03-21 20:19:22 -07: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
Richard Littauer
9843e86258 Changed so only explicit ipfs cli commands are lowercased
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-10-27 22:55:13 -07:00
Jeromy
eac13abaec update to new cid and ipld node packages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 09:54:04 -07:00