Improve tracking of segments and segment utilization.
[cumulus.git] / localdb.h
index 5901836..7764aed 100644 (file)
--- a/localdb.h
+++ b/localdb.h
@@ -31,6 +31,7 @@
 
 #include <sqlite3.h>
 
+#include <set>
 #include <string>
 
 #include "ref.h"
@@ -40,17 +41,17 @@ public:
     void Open(const char *path, const char *snapshot_name,
               const char *snapshot_scheme, double intent);
     void Close();
-    void StoreObject(const ObjectReference& ref,
-                     const std::string &checksum, int64_t size, double age);
+    void StoreObject(const ObjectReference& ref, double age);
     ObjectReference FindObject(const std::string &checksum, int64_t size);
     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);
 
+    std::set<std::string> GetUsedSegments();
     void SetSegmentChecksum(const std::string &segment, const std::string &path,
-                            const std::string &checksum, int size);
+                            const std::string &checksum,
+                            int data_size, int disk_size);
     bool GetSegmentChecksum(const std::string &segment,
                             std::string *seg_path, std::string *seg_checksum);