diff options
| author | chrislu <chris.lu@gmail.com> | 2022-01-21 12:08:58 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-01-21 12:08:58 -0800 |
| commit | ce2049cdb6f3082d854a2649b4eea53f9774ddb5 (patch) | |
| tree | 4f28ee0b74ec3365f6d93e94fc77e209751393ee /weed/shell/command_fs_meta_save.go | |
| parent | e47f63d15987d38bc721fa06dac137f51e78562d (diff) | |
| download | seaweedfs-ce2049cdb6f3082d854a2649b4eea53f9774ddb5.tar.xz seaweedfs-ce2049cdb6f3082d854a2649b4eea53f9774ddb5.zip | |
refactoring, move genFn before saveFn
Diffstat (limited to 'weed/shell/command_fs_meta_save.go')
| -rw-r--r-- | weed/shell/command_fs_meta_save.go | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/weed/shell/command_fs_meta_save.go b/weed/shell/command_fs_meta_save.go index 2cbe83e21..ea909a527 100644 --- a/weed/shell/command_fs_meta_save.go +++ b/weed/shell/command_fs_meta_save.go @@ -78,15 +78,7 @@ func (c *commandFsMetaSave) Do(args []string, commandEnv *CommandEnv, writer io. cipherKey = util.GenCipherKey() } - err = doTraverseBfsAndSaving(commandEnv, writer, path, *verbose, func(outputChan chan interface{}) { - sizeBuf := make([]byte, 4) - for item := range outputChan { - b := item.([]byte) - util.Uint32toBytes(sizeBuf, uint32(len(b))) - dst.Write(sizeBuf) - dst.Write(b) - } - }, func(entry *filer_pb.FullEntry, outputChan chan interface{}) (err error) { + err = doTraverseBfsAndSaving(commandEnv, writer, path, *verbose, func(entry *filer_pb.FullEntry, outputChan chan interface{}) (err error) { if !entry.Entry.IsDirectory { ext := filepath.Ext(entry.Entry.Name) if encrypted, encErr := util.Encrypt([]byte(entry.Entry.Name), cipherKey); encErr == nil { @@ -102,6 +94,14 @@ func (c *commandFsMetaSave) Do(args []string, commandEnv *CommandEnv, writer io. outputChan <- bytes return nil + }, func(outputChan chan interface{}) { + sizeBuf := make([]byte, 4) + for item := range outputChan { + b := item.([]byte) + util.Uint32toBytes(sizeBuf, uint32(len(b))) + dst.Write(sizeBuf) + dst.Write(b) + } }) if err == nil { @@ -112,7 +112,7 @@ func (c *commandFsMetaSave) Do(args []string, commandEnv *CommandEnv, writer io. } -func doTraverseBfsAndSaving(filerClient filer_pb.FilerClient, writer io.Writer, path string, verbose bool, saveFn func(outputChan chan interface{}), genFn func(entry *filer_pb.FullEntry, outputChan chan interface{}) error) error { +func doTraverseBfsAndSaving(filerClient filer_pb.FilerClient, writer io.Writer, path string, verbose bool, genFn func(entry *filer_pb.FullEntry, outputChan chan interface{}) error, saveFn func(outputChan chan interface{})) error { var wg sync.WaitGroup wg.Add(1) |
