1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-08-06 11:31:54 +08:00

Create a FilestoreNode object to carry PosInfo

When doing a filestore add, we wrap whatever nodes we create in a
FilestoreNode object and add the PosInfo to it so that the filestore
will be able to extract information as needed.

Edited by whyrusleeping

License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
This commit is contained in:
Kevin Atkinson
2016-10-16 21:06:28 -04:00
parent 6f3ae5da29
commit 73f9a90cbf
8 changed files with 116 additions and 13 deletions

View File

@ -398,7 +398,12 @@ func (adder *Adder) addFile(file files.File) error {
// progress updates to the client (over the output channel)
var reader io.Reader = file
if adder.Progress {
reader = &progressReader{file: file, out: adder.Out}
rdr := &progressReader{file: file, out: adder.Out}
if fi, ok := file.(files.FileInfo); ok {
reader = &progressReader2{rdr, fi}
} else {
reader = rdr
}
}
dagnode, err := adder.add(reader)
@ -520,3 +525,8 @@ func (i *progressReader) Read(p []byte) (int, error) {
return n, err
}
type progressReader2 struct {
*progressReader
files.FileInfo
}