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