- 08 Aug, 2018 2 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
- 07 Aug, 2018 2 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
- 05 Aug, 2018 1 commit
-
-
Jeromy authored
-
- 31 Jul, 2018 1 commit
-
-
Jeromy authored
-
- 30 Jul, 2018 4 commits
- 28 Jul, 2018 2 commits
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 23 Jul, 2018 1 commit
-
-
Lucas Molas authored
License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
- 18 Jul, 2018 4 commits
-
-
Whyrusleeping authored
unixfs: refactor `precalcNextBuf`
-
Lucas Molas authored
License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Lucas Molas authored
Extract the original `FSNode` passed inside the `ipld.Node` argument and modify its `Blocksizes` (removing all of them and re-adding the ones that were not truncated). In contrast, the replaced code was creating a new `FSNode` that was not preserving some of the features of the original one. Change `TRUNC_HASH` values in `sharness` that were created with the bug to the correct values. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Steven Allen authored
fixes #4518 License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
- 17 Jul, 2018 1 commit
-
-
Whyrusleeping authored
always try to read ahead by at least 5 blocks in the PBDagReader
-
- 16 Jul, 2018 6 commits
-
-
Steven Allen authored
alternative to #5243 that updates go-cid and all packages that depend on it License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
Lucas Molas authored
Create new `loadBufNode` function to handle the `buf` logic which is unrelated to the main `precalcNextBuf` logic of processing promises to fetch nodes. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Lucas Molas authored
Do not use `NewDagReader` just for the `RawNode` case. Treat invalid UnixFS types in the same case. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Lucas Molas authored
License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Whyrusleeping authored
unixfs: add a directory interface
-
Whyrusleeping authored
pbdagreader: use FSNode instead of protobuf structure
-
- 09 Jul, 2018 2 commits
-
-
Lucas Molas authored
License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Lucas Molas authored
Add a UnixFS `Directory` that hides implementation details and helps to distinguish *what* is a UnixFS directory. Replace the `unixfs.io.Directory` structure that contained the HAMT and basic directory implementations (through inner pointers) with an interface containing the same methods. Implement those methods in two clearly distinct structures for each implementation (`BasicDirectory` and `HAMTDirectory`) avoiding pointer logic and clearly differentiating which implementation does what. The potential basic to HAMT transition was being hidden behind the `AddChild` call at the UnixFS layer (changing one implementation pointer with the other one), it is now being explicitly done at the MFS layer. Rename the `dirbuilder.go` file to `directory.go` and change the `Directory` MFS attribute `dirbuilder` to `unixfsDir` to be consistent. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
- 06 Jul, 2018 3 commits
-
-
Lucas Molas authored
See https://golang.org/doc/effective_go.html#Getters. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Lucas Molas authored
Focus on the UnixFS layer and avoid explicit references to protocol buffers format (used to serialize objects of that layer). Use the `unixfs.FSNode` structure which it abstracts from the `unixfs.pb.Data` format. Replace `PBDagReader` field `ftpb.Data` with `ft.FSNode`, renaming it to `file` (which is the type of UnixFS object represented in the reader) and changing its comment removing the "cached" reference, as this structure is not used here as a cache (`PBDagReader` doesn't modify the DAG, it's read-only). Also, removed unused `ProtoNode` field to avoid confusions, as it would normally be present if the `FSNode` was in fact used as a cache of the contents of the `ProtoNode`. An example of the advantage of shifting the focus from the format to the UnixFS layer is dropping the of use `len(pb.Blocksizes)` in favor of the more clear `NumChildren()` abstraction. Added `BlockSize()` accessor. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
Steven Allen authored
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
- 05 Jul, 2018 1 commit
-
-
Lucas Molas authored
Remove `Offset()` from the `DagReader` interface. It's not part of the Unix API and it wasn't used anywhere except for the tests (a helper function was added to replace it). License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
-
- 28 Jun, 2018 3 commits
-
-
Steven Allen authored
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
Steven Allen authored
This should reduce stuttering when streaming. License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
Steven Allen authored
Good: If a previous read is canceled, we cancel the preloads that the read triggered. Bad: Future reads at that point will fail. This fixes that issue. License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
- 27 Jun, 2018 2 commits
-
-
Steven Allen authored
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
Steven Allen authored
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>
-
- 13 Jun, 2018 1 commit
-
-
Whyrusleeping authored
unixfs: integrate `pb.Data` into `FSNode` to avoid duplicating fields
-
- 11 Jun, 2018 1 commit
-
-
Lucas Molas authored
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>
-
- 09 Jun, 2018 1 commit
-
-
Steven Allen authored
* go-log * sys * go-crypto License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
- 01 Jun, 2018 1 commit
-
-
Steven Allen authored
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
-
- 20 Apr, 2018 1 commit
-
-
Whyrusleeping authored
misc: Remove some dead code
-