X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=localdb.h;h=4654b37a60a30cf1c22a9030bfca00c631beeda5;hb=4b89157cdec2da9a016a7ea0f511a0f3ff43f6dc;hp=6035e5d0aa2ca911b81842e3c7e3bdaedcf46383;hpb=0a76f30b578a2ace26090a4b9bbd74b04124a20e;p=cumulus.git diff --git a/localdb.h b/localdb.h index 6035e5d..4654b37 100644 --- a/localdb.h +++ b/localdb.h @@ -21,13 +21,21 @@ class LocalDb { public: - void Open(const char *path); + void Open(const char *path, const char *snapshot_name); void Close(); void StoreObject(const ObjectReference& ref, - const std::string &checksum, int64_t size); + 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 IsAvailable(const ObjectReference &ref); + void UseObject(const ObjectReference& ref); private: sqlite3 *db; + int64_t snapshotid; + + sqlite3_stmt *Prepare(const char *sql); + int64_t SegmentToId(const std::string &segment); + std::string IdToSegment(int64_t segmentid); }; #endif // _LBS_LOCALDB_H