X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=localdb.h;h=6b1f3388e2a19d21c83a62650e33e4b6022fa099;hb=013636b17f3e44f5ac4837750a3888999d35d2f8;hp=6d28cd827435ea1143d7612471ed34e9c0391570;hpb=1048a6510710acb5bef352d0acb2dd13ecce0e01;p=cumulus.git diff --git a/localdb.h b/localdb.h index 6d28cd8..6b1f338 100644 --- a/localdb.h +++ b/localdb.h @@ -1,5 +1,5 @@ /* LBS: An LFS-inspired filesystem backup system - * Copyright (C) 2007 Michael Vrable + * Copyright (C) 2007-2008 Michael Vrable * * When creating backup snapshots, maintain a local database of data blocks and * checksums, in addition to the data contents (which may be stored remotely). @@ -22,17 +22,19 @@ class LocalDb { public: void Open(const char *path, const char *snapshot_name, - const char *snapshot_scheme); + const char *snapshot_scheme, double intent); void Close(); void StoreObject(const ObjectReference& ref, const std::string &checksum, int64_t size, double age); ObjectReference FindObject(const std::string &checksum, int64_t size); - bool IsOldObject(const std::string &checksum, int64_t size, double *age); + bool IsOldObject(const std::string &checksum, int64_t size, double *age, + int *group); bool IsAvailable(const ObjectReference &ref); void UseObject(const ObjectReference& ref); + void UseSegment(const std::string &segment, double utilization); void SetSegmentChecksum(const std::string &segment, const std::string &path, - const std::string &checksum); + const std::string &checksum, int size); bool GetSegmentChecksum(const std::string &segment, std::string *seg_path, std::string *seg_checksum); private: