[#417] Upload part using tree service
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
This commit is contained in:
parent
e1b9a4432a
commit
bc0bdc7767
8 changed files with 221 additions and 32 deletions
23
api/cache/objects.go
vendored
23
api/cache/objects.go
vendored
|
@ -5,6 +5,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/bluele/gcache"
|
||||
"github.com/nspcc-dev/neofs-s3-gw/api/data"
|
||||
"github.com/nspcc-dev/neofs-sdk-go/object"
|
||||
oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
|
||||
"go.uber.org/zap"
|
||||
|
@ -55,6 +56,21 @@ func (o *ObjectsCache) Get(address oid.Address) *object.Object {
|
|||
return &result
|
||||
}
|
||||
|
||||
// GetObject returns a cached object info.
|
||||
func (o *ObjectsCache) GetObject(address oid.Address) *data.ObjectInfo {
|
||||
entry, err := o.cache.Get(address.EncodeToString())
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
result, ok := entry.(*data.ObjectInfo)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
// Put puts an object to cache.
|
||||
func (o *ObjectsCache) Put(obj object.Object) error {
|
||||
cnrID, ok := obj.ContainerID()
|
||||
|
@ -73,6 +89,13 @@ func (o *ObjectsCache) Put(obj object.Object) error {
|
|||
return o.cache.Set(addr.EncodeToString(), obj)
|
||||
}
|
||||
|
||||
// PutObject puts an object info to cache.
|
||||
func (o *ObjectsCache) PutObject(obj *data.ObjectInfo) error {
|
||||
cnrID := obj.CID.EncodeToString()
|
||||
objID := obj.ID.EncodeToString()
|
||||
return o.cache.Set(cnrID+"/"+objID, obj)
|
||||
}
|
||||
|
||||
// Delete deletes an object from cache.
|
||||
func (o *ObjectsCache) Delete(address oid.Address) bool {
|
||||
return o.cache.Remove(address.EncodeToString())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue