forked from TrueCloudLab/frostfs-node
[#505] morph/container: Do not return ID from Wrapper.Put method
`Put` method of the wrapper over the Container contract's client does not modify passed binary container, so it makes no sense to calculate the identifier. `Put` method returns the error only from now. Function `Put` calculates identifier itself since it is still required by function signature. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
565ad51b42
commit
3a5849fadb
1 changed files with 13 additions and 8 deletions
|
@ -32,7 +32,15 @@ func Put(w *Wrapper, cnr *container.Container, sig *pkg.Signature) (*container.I
|
||||||
return nil, fmt.Errorf("can't marshal container: %w", err)
|
return nil, fmt.Errorf("can't marshal container: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return w.Put(data, sig.Key(), sig.Sign())
|
err = w.Put(data, sig.Key(), sig.Sign())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
id := container.NewID()
|
||||||
|
id.SetSHA256(sha256.Sum256(data))
|
||||||
|
|
||||||
|
return id, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Put saves binary container with its key and signature
|
// Put saves binary container with its key and signature
|
||||||
|
@ -40,9 +48,9 @@ func Put(w *Wrapper, cnr *container.Container, sig *pkg.Signature) (*container.I
|
||||||
//
|
//
|
||||||
// Returns calculated container identifier and any error
|
// Returns calculated container identifier and any error
|
||||||
// encountered that caused the saving to interrupt.
|
// encountered that caused the saving to interrupt.
|
||||||
func (w *Wrapper) Put(cnr, key, sig []byte) (*container.ID, error) {
|
func (w *Wrapper) Put(cnr, key, sig []byte) error {
|
||||||
if len(sig) == 0 || len(key) == 0 {
|
if len(sig) == 0 || len(key) == 0 {
|
||||||
return nil, errNilArgument
|
return errNilArgument
|
||||||
}
|
}
|
||||||
|
|
||||||
var args client.PutArgs
|
var args client.PutArgs
|
||||||
|
@ -53,13 +61,10 @@ func (w *Wrapper) Put(cnr, key, sig []byte) (*container.ID, error) {
|
||||||
|
|
||||||
err := w.client.Put(args)
|
err := w.client.Put(args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
id := container.NewID()
|
return nil
|
||||||
id.SetSHA256(sha256.Sum256(cnr))
|
|
||||||
|
|
||||||
return id, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get reads the container from NeoFS system by identifier
|
// Get reads the container from NeoFS system by identifier
|
||||||
|
|
Loading…
Reference in a new issue