forked from TrueCloudLab/restic
Split out Node and Blob from tree.go
This commit is contained in:
parent
79e065596f
commit
460ebebeef
3 changed files with 420 additions and 406 deletions
41
blob.go
Normal file
41
blob.go
Normal file
|
@ -0,0 +1,41 @@
|
|||
package restic
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/restic/restic/backend"
|
||||
)
|
||||
|
||||
type Blob struct {
|
||||
ID backend.ID `json:"id,omitempty"`
|
||||
Offset uint64 `json:"offset,omitempty"`
|
||||
Size uint64 `json:"size,omitempty"`
|
||||
Storage backend.ID `json:"sid,omitempty"` // encrypted ID
|
||||
StorageSize uint64 `json:"ssize,omitempty"` // encrypted Size
|
||||
}
|
||||
|
||||
type Blobs []Blob
|
||||
|
||||
func (b Blob) Free() {
|
||||
if b.ID != nil {
|
||||
b.ID.Free()
|
||||
}
|
||||
|
||||
if b.Storage != nil {
|
||||
b.Storage.Free()
|
||||
}
|
||||
}
|
||||
|
||||
func (b Blob) Valid() bool {
|
||||
if b.ID == nil || b.Storage == nil || b.StorageSize == 0 {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func (b Blob) String() string {
|
||||
return fmt.Sprintf("Blob<%s -> %s>",
|
||||
b.ID.Str(),
|
||||
b.Storage.Str())
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue