X-Git-Url: http://git.vrable.net/?p=cumulus.git;a=blobdiff_plain;f=localdb.h;h=7764aeddad3685529176cd420c74fbb8a5b5a847;hp=33a00294829b6af1700b87b737ebefa521a596a5;hb=3d780590edec4583eb3ef0ca16120afd0f7451f9;hpb=0dfc70e01ddb7d2bce0db03d5364c0bd3a2bb308 diff --git a/localdb.h b/localdb.h index 33a0029..7764aed 100644 --- 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 +/* 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 @@ -32,6 +31,7 @@ #include +#include #include #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 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 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); + + 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;