projects
/
cumulus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve tracking of segments and segment utilization.
[cumulus.git]
/
localdb.h
diff --git
a/localdb.h
b/localdb.h
index
33a0029
..
7764aed
100644
(file)
--- a/
localdb.h
+++ b/
localdb.h
@@
-1,7
+1,6
@@
-/* Cumulus: Smart Filesystem Backup to Dumb Servers
- *
- * Copyright (C) 2007-2008 The Regents of the University of California
- * Written by Michael Vrable <mvrable@cs.ucsd.edu>
+/* Cumulus: Efficient Filesystem Backup to the Cloud
+ * Copyright (C) 2007-2008 The Cumulus Developers
+ * See the AUTHORS file for a list of contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-32,6
+31,7
@@
#include <sqlite3.h>
#include <sqlite3.h>
+#include <set>
#include <string>
#include "ref.h"
#include <string>
#include "ref.h"
@@
-41,19
+41,26
@@
public:
void Open(const char *path, const char *snapshot_name,
const char *snapshot_scheme, double intent);
void Close();
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);
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,
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);
bool GetSegmentChecksum(const std::string &segment,
std::string *seg_path, std::string *seg_checksum);
+
+ bool LoadChunkSignatures(ObjectReference ref,
+ void **buf, size_t *len,
+ std::string *algorithm);
+ void StoreChunkSignatures(ObjectReference ref,
+ const void *buf, size_t len,
+ const std::string &algorithm);
private:
sqlite3 *db;
int64_t snapshotid;
private:
sqlite3 *db;
int64_t snapshotid;