forked from TrueCloudLab/frostfs-api-go
initial
This commit is contained in:
commit
1cf33e5ffd
87 changed files with 29835 additions and 0 deletions
68
container/service.go
Normal file
68
container/service.go
Normal file
|
@ -0,0 +1,68 @@
|
|||
package container
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
|
||||
"github.com/nspcc-dev/neofs-proto/refs"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
type (
|
||||
// CID type alias.
|
||||
CID = refs.CID
|
||||
// UUID type alias.
|
||||
UUID = refs.UUID
|
||||
// OwnerID type alias.
|
||||
OwnerID = refs.OwnerID
|
||||
// OwnerID type alias.
|
||||
MessageID = refs.MessageID
|
||||
)
|
||||
|
||||
// SetTTL sets ttl to GetRequest to satisfy TTLRequest interface.
|
||||
func (m *GetRequest) SetTTL(v uint32) { m.TTL = v }
|
||||
|
||||
// SetTTL sets ttl to PutRequest to satisfy TTLRequest interface.
|
||||
func (m *PutRequest) SetTTL(v uint32) { m.TTL = v }
|
||||
|
||||
// SetTTL sets ttl to ListRequest to satisfy TTLRequest interface.
|
||||
func (m *ListRequest) SetTTL(v uint32) { m.TTL = v }
|
||||
|
||||
// SetTTL sets ttl to DeleteRequest to satisfy TTLRequest interface.
|
||||
func (m *DeleteRequest) SetTTL(v uint32) { m.TTL = v }
|
||||
|
||||
// SetSignature sets signature to PutRequest to satisfy SignedRequest interface.
|
||||
func (m *PutRequest) SetSignature(v []byte) { m.Signature = v }
|
||||
|
||||
// SetSignature sets signature to DeleteRequest to satisfy SignedRequest interface.
|
||||
func (m *DeleteRequest) SetSignature(v []byte) { m.Signature = v }
|
||||
|
||||
// PrepareData prepares bytes representation of PutRequest to satisfy SignedRequest interface.
|
||||
func (m *PutRequest) PrepareData() ([]byte, error) {
|
||||
var (
|
||||
err error
|
||||
buf = new(bytes.Buffer)
|
||||
capBytes = make([]byte, 8)
|
||||
)
|
||||
|
||||
binary.BigEndian.PutUint64(capBytes, m.Capacity)
|
||||
|
||||
if _, err = buf.Write(m.MessageID.Bytes()); err != nil {
|
||||
return nil, errors.Wrap(err, "could not write message id")
|
||||
} else if _, err = buf.Write(capBytes); err != nil {
|
||||
return nil, errors.Wrap(err, "could not write capacity")
|
||||
} else if _, err = buf.Write(m.OwnerID.Bytes()); err != nil {
|
||||
return nil, errors.Wrap(err, "could not write pub")
|
||||
} else if data, err := m.Rules.Marshal(); err != nil {
|
||||
return nil, errors.Wrap(err, "could not marshal placement")
|
||||
} else if _, err = buf.Write(data); err != nil {
|
||||
return nil, errors.Wrap(err, "could not write placement")
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
// PrepareData prepares bytes representation of DeleteRequest to satisfy SignedRequest interface.
|
||||
func (m *DeleteRequest) PrepareData() ([]byte, error) {
|
||||
return m.CID.Bytes(), nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue