Documentation ¶
Index ¶
- Variables
- func DownloadNode(node *arq_types.Node, cacheDirectory string, backupSet *ArqBackupSet, ...) error
- func DownloadTree(tree *arq_types.Tree, cacheDirectory string, backupSet *ArqBackupSet, ...) error
- func FindNode(cacheDirectory string, backupSet *ArqBackupSet, bucket *ArqBucket, ...) (*arq_types.Tree, *arq_types.Node, error)
- func GetDataBlobKeyContentsFromObjects(SHA1 [20]byte, bucket *ArqBucket) ([]byte, error)
- func GetPathToBucketPackSetBlobs(abs *ArqBackupSet, ab *ArqBucket) string
- func GetPathToBucketPackSetTrees(abs *ArqBackupSet, ab *ArqBucket) string
- func IsValidPackFile(cacheFilepath string) (bool, error)
- type ArqBackupSet
- type ArqBucket
- type ArqComputerInfo
- type ArqPackSetIndex
- func (apsi *ArqPackSetIndex) GetBlobPackFile(abs *ArqBackupSet, ab *ArqBucket, targetSHA1 [20]byte) ([]byte, error)
- func (apsi *ArqPackSetIndex) GetPackFileAsCommit(backupSet *ArqBackupSet, bucket *ArqBucket, SHA1 [20]byte) (*arq_types.Commit, error)
- func (apsi *ArqPackSetIndex) GetPackFileAsTree(backupSet *ArqBackupSet, bucket *ArqBucket, SHA1 [20]byte) (*arq_types.Tree, error)
- func (apsi *ArqPackSetIndex) GetTreePackFile(abs *ArqBackupSet, ab *ArqBucket, targetSHA1 [20]byte) ([]byte, error)
- func (apsi *ArqPackSetIndex) ListBlobIndexes() ([]string, error)
- func (apsi *ArqPackSetIndex) ListTreeIndexes() ([]string, error)
- func (apsi ArqPackSetIndex) String() string
- type BlobKeysReader
- type PackFileObject
- func GetObjectFromBlobPackFile(abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, packName string) (*PackFileObject, error)
- func GetObjectFromPackFile(key string, abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, ...) (*PackFileObject, error)
- func GetObjectFromTreePackFile(abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, packName string) (*PackFileObject, error)
- func NewPackFileObject(buf []byte) (*PackFileObject, error)
- type PackIndex
- type PackIndexObject
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrorCouldNotRecoverTree = errors.New("Couldn't find a tree in the Arq backup")
)
View Source
var (
UUID_REGEXP = regexp.MustCompile("[a-zA-Z0-9-]{32,}")
)
Functions ¶
func DownloadNode ¶
func DownloadTree ¶
func FindNode ¶
func FindNode(cacheDirectory string, backupSet *ArqBackupSet, bucket *ArqBucket, targetPath string) (*arq_types.Tree, *arq_types.Node, error)
func GetPathToBucketPackSetBlobs ¶
func GetPathToBucketPackSetBlobs(abs *ArqBackupSet, ab *ArqBucket) string
func GetPathToBucketPackSetTrees ¶
func GetPathToBucketPackSetTrees(abs *ArqBackupSet, ab *ArqBucket) string
func IsValidPackFile ¶ added in v0.1.4
* Verify that a pack file is valid. All pack files end with a 20-byte SHA1 of the full contents of the file.
Types ¶
type ArqBackupSet ¶
type ArqBackupSet struct { Connection connector.Connection UUID string ComputerInfo *ArqComputerInfo Buckets []*ArqBucket BlobDecrypter *crypto.CryptoState BucketDecrypter *crypto.CryptoState }
func GetArqBackupSets ¶
func GetArqBackupSets(connection connector.Connection, password []byte) ([]*ArqBackupSet, error)
func NewArqBackupSet ¶
func NewArqBackupSet(connection connector.Connection, password []byte, uuid string) (*ArqBackupSet, error)
func (*ArqBackupSet) CacheBlobPackSets ¶
func (abs *ArqBackupSet) CacheBlobPackSets() error
func (*ArqBackupSet) CacheTreePackSets ¶
func (abs *ArqBackupSet) CacheTreePackSets() error
func (ArqBackupSet) String ¶
func (abs ArqBackupSet) String() string
type ArqBucket ¶
type ArqBucket struct { Object connector.Object UUID string LocalPath string ArqBackupSet *ArqBackupSet HeadSHA1 [20]byte }
func NewArqBucket ¶
func NewArqBucket(object connector.Object, abs *ArqBackupSet) (*ArqBucket, error)
type ArqComputerInfo ¶
func (ArqComputerInfo) String ¶
func (aci ArqComputerInfo) String() string
type ArqPackSetIndex ¶
type ArqPackSetIndex struct { CacheDirectory string ArqBackupSet *ArqBackupSet ArqBucket *ArqBucket }
func NewPackSetIndex ¶
func NewPackSetIndex(cacheDirectory string, abs *ArqBackupSet, ab *ArqBucket) (*ArqPackSetIndex, error)
func (*ArqPackSetIndex) GetBlobPackFile ¶
func (apsi *ArqPackSetIndex) GetBlobPackFile(abs *ArqBackupSet, ab *ArqBucket, targetSHA1 [20]byte) ([]byte, error)
func (*ArqPackSetIndex) GetPackFileAsCommit ¶
func (apsi *ArqPackSetIndex) GetPackFileAsCommit(backupSet *ArqBackupSet, bucket *ArqBucket, SHA1 [20]byte) (*arq_types.Commit, error)
func (*ArqPackSetIndex) GetPackFileAsTree ¶
func (apsi *ArqPackSetIndex) GetPackFileAsTree(backupSet *ArqBackupSet, bucket *ArqBucket, SHA1 [20]byte) (*arq_types.Tree, error)
func (*ArqPackSetIndex) GetTreePackFile ¶
func (apsi *ArqPackSetIndex) GetTreePackFile(abs *ArqBackupSet, ab *ArqBucket, targetSHA1 [20]byte) ([]byte, error)
TODO copy/paste of GetBlobPackFile, refactor
func (*ArqPackSetIndex) ListBlobIndexes ¶
func (apsi *ArqPackSetIndex) ListBlobIndexes() ([]string, error)
func (*ArqPackSetIndex) ListTreeIndexes ¶
func (apsi *ArqPackSetIndex) ListTreeIndexes() ([]string, error)
func (ArqPackSetIndex) String ¶
func (apsi ArqPackSetIndex) String() string
type BlobKeysReader ¶
type BlobKeysReader struct {
// contains filtered or unexported fields
}
type PackFileObject ¶
type PackFileObject struct { Mimetype *arq_types.String Name *arq_types.String Data *arq_types.String }
func GetObjectFromBlobPackFile ¶
func GetObjectFromBlobPackFile(abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, packName string) (*PackFileObject, error)
func GetObjectFromPackFile ¶
func GetObjectFromPackFile(key string, abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, packName string) (*PackFileObject, error)
func GetObjectFromTreePackFile ¶
func GetObjectFromTreePackFile(abs *ArqBackupSet, ab *ArqBucket, pio *PackIndexObject, packName string) (*PackFileObject, error)
func NewPackFileObject ¶
func NewPackFileObject(buf []byte) (*PackFileObject, error)
type PackIndex ¶
type PackIndex struct { Fanout [256]uint32 // contains filtered or unexported fields }
type PackIndexObject ¶
type PackIndexObject struct { Offset uint64 Length uint64 SHA1 [20]byte // contains filtered or unexported fields }
func (PackIndexObject) String ¶
func (pio PackIndexObject) String() string
Click to show internal directories.
Click to hide internal directories.