MCPcopy
hub / github.com/rclone/rclone / GetObject

Method GetObject

backend/cache/storage_persistent.go:375–387  ·  view source on GitHub ↗

GetObject will return a CachedObject from its parent directory or an error if it doesn't find it

(cachedObject *Object)

Source from the content-addressed store, hash-verified

373
374// GetObject will return a CachedObject from its parent directory or an error if it doesn't find it
375func (b *Persistent) GetObject(cachedObject *Object) (err error) {
376 return b.db.View(func(tx *bolt.Tx) error {
377 bucket := b.getBucket(cachedObject.Dir, false, tx)
378 if bucket == nil {
379 return fmt.Errorf("couldn't open parent bucket for %v", cachedObject.Dir)
380 }
381 val := bucket.Get([]byte(cachedObject.Name))
382 if val != nil {
383 return json.Unmarshal(val, cachedObject)
384 }
385 return fmt.Errorf("couldn't find object (%v)", cachedObject.Name)
386 })
387}
388
389// AddObject will create a cached object in its parent directory
390func (b *Persistent) AddObject(cachedObject *Object) error {

Callers 6

httpExpireRemoteMethod · 0.45
receiveChangeNotifyMethod · 0.45
NewObjectMethod · 0.45
OpenMethod · 0.45
OpenMethod · 0.45
OpenMethod · 0.45

Calls 3

getBucketMethod · 0.95
GetMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected