提交 3171cd3a 作者: Jeromy

Add in stream wrapper to adder

上级 7e8f6c96
...@@ -71,26 +71,27 @@ func NewAdder(ctx context.Context, p pin.Pinner, bs bstore.GCBlockstore, ds ipld ...@@ -71,26 +71,27 @@ func NewAdder(ctx context.Context, p pin.Pinner, bs bstore.GCBlockstore, ds ipld
// Adder holds the switches passed to the `add` command. // Adder holds the switches passed to the `add` command.
type Adder struct { type Adder struct {
ctx context.Context ctx context.Context
pinning pin.Pinner pinning pin.Pinner
blockstore bstore.GCBlockstore blockstore bstore.GCBlockstore
dagService ipld.DAGService dagService ipld.DAGService
Out chan interface{} Out chan interface{}
Progress bool Progress bool
Hidden bool Hidden bool
Pin bool Pin bool
Trickle bool Trickle bool
RawLeaves bool RawLeaves bool
Silent bool Silent bool
Wrap bool Wrap bool
NoCopy bool NoCopy bool
Chunker string Chunker string
root ipld.Node FileWrapper func(io.Reader) (io.Reader, error)
mroot *mfs.Root root ipld.Node
unlocker bstore.Unlocker mroot *mfs.Root
tempRoot *cid.Cid unlocker bstore.Unlocker
Prefix *cid.Prefix tempRoot *cid.Cid
liveNodes uint64 Prefix *cid.Prefix
liveNodes uint64
} }
func (adder *Adder) mfsRoot() (*mfs.Root, error) { func (adder *Adder) mfsRoot() (*mfs.Root, error) {
...@@ -114,6 +115,14 @@ func (adder *Adder) SetMfsRoot(r *mfs.Root) { ...@@ -114,6 +115,14 @@ func (adder *Adder) SetMfsRoot(r *mfs.Root) {
// Constructs a node from reader's data, and adds it. Doesn't pin. // Constructs a node from reader's data, and adds it. Doesn't pin.
func (adder *Adder) add(reader io.Reader) (ipld.Node, error) { func (adder *Adder) add(reader io.Reader) (ipld.Node, error) {
if adder.FileWrapper != nil {
wr, err := adder.FileWrapper(reader)
if err != nil {
return nil, err
}
reader = wr
}
chnk, err := chunker.FromString(reader, adder.Chunker) chnk, err := chunker.FromString(reader, adder.Chunker)
if err != nil { if err != nil {
return nil, err return nil, err
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论