1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-10-17 19:54:25 +08:00

2 Commits

Author SHA1 Message Date
28fdee7fce Extract dagservice, move dagutils to top level
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-07-28 14:22:20 -07:00
7d531c00ac unixfs: add a directory interface
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>
2018-07-09 12:02:22 -03:00