8 #ifndef __STDC_FORMAT_MACROS
9 #define __STDC_FORMAT_MACROS
117 const std::string &description)
119 ,
info(type, description) { }
139 const std::string &description)
146 const std::string &description)
167 virtual int Open(
const BlessedObject &
object) = 0;
168 virtual int64_t
GetSize(
int fd) = 0;
169 virtual int Close(
int fd) = 0;
170 virtual int64_t
Pread(
int fd,
void *buf, uint64_t
size, uint64_t offset) = 0;
171 virtual int Dup(
int fd) = 0;
176 virtual void CtrlTxn(
const ObjectInfo &object_info,
179 virtual int64_t
Write(
const void *buf, uint64_t sz,
void *txn) = 0;
180 virtual int Reset(
void *txn) = 0;
181 virtual int AbortTxn(
void *txn) = 0;
185 virtual void Spawn() = 0;
188 const std::string &description,
192 unsigned char **buffer, uint64_t *
size);
194 const unsigned char *buffer,
196 const std::string &description);
211 void FreeState(
const int fd_progress,
void *state);
259 #endif // CVMFS_CACHE_H_
int ChecksumFd(int fd, shash::Any *id)
BlessedObject(const shash::Any &id, ObjectType type)
virtual int64_t GetSize(int fd)=0
static BlessedObject Bless(const shash::Any &id, const std::string &description)
int OpenPinned(const shash::Any &id, const std::string &description, bool is_catalog)
BlessedObject(const shash::Any &id, const ObjectInfo info)
BlessedObject(const shash::Any &id, ObjectType type, const std::string &description)
int RestoreState(const int fd_progress, void *state)
CacheManagerIds manager_type
virtual manifest::Breadcrumb LoadBreadcrumb(const std::string &)
void * SaveState(const int fd_progress)
virtual int AbortTxn(void *txn)=0
virtual bool StoreBreadcrumb(const manifest::Manifest &)
virtual int Open(const BlessedObject &object)=0
virtual void * DoSaveState()
virtual bool DoFreeState(void *data)
virtual CacheManagerIds id()=0
static BlessedObject Bless(const shash::Any &id, ObjectType type, const std::string &description)
BlessedObject(const shash::Any &id)
virtual int DoRestoreState(void *data)
static BlessedObject Bless(const shash::Any &id, const ObjectInfo &info)
static BlessedObject Bless(const shash::Any &id, ObjectType type)
virtual int CommitTxn(void *txn)=0
virtual int OpenFromTxn(void *txn)=0
ObjectInfo(ObjectType t, const std::string &d)
bool CommitFromMem(const shash::Any &id, const unsigned char *buffer, const uint64_t size, const std::string &description)
bool Open2Mem(const shash::Any &id, const std::string &description, unsigned char **buffer, uint64_t *size)
virtual int Close(int fd)=0
virtual int Reset(void *txn)=0
static const unsigned kStateVersion
void FreeState(const int fd_progress, void *state)
static BlessedObject Bless(const shash::Any &id)
QuotaManager * quota_mgr()
QuotaManager * quota_mgr_
virtual uint32_t SizeOfTxn()=0
BlessedObject(const shash::Any &id, const std::string &description)
virtual int Dup(int fd)=0
virtual int Readahead(int fd)=0
virtual bool AcquireQuotaManager(QuotaManager *quota_mgr)=0
virtual int StartTxn(const shash::Any &id, uint64_t size, void *txn)=0
virtual int64_t Pread(int fd, void *buf, uint64_t size, uint64_t offset)=0
virtual std::string Describe()=0
virtual int64_t Write(const void *buf, uint64_t sz, void *txn)=0
static const uint64_t kSizeUnknown
virtual void CtrlTxn(const ObjectInfo &object_info, const int flags, void *txn)=0