5 #ifndef CVMFS_CACHE_STREAM_H_
6 #define CVMFS_CACHE_STREAM_H_
18 class DownloadManager;
48 virtual int Open(
const LabeledObject &
object);
49 virtual int64_t
GetSize(
int fd);
50 virtual int Close(
int fd);
51 virtual int64_t
Pread(
int fd,
void *buf, uint64_t
size, uint64_t offset);
52 virtual int Dup(
int fd);
61 virtual void CtrlTxn(
const Label &label,
const int flags,
void *txn) {
64 virtual int64_t
Write(
const void *buf, uint64_t
size,
void *txn)
89 int PlantFd(
int fd_in_cache_mgr);
112 return !(*
this == other);
133 int64_t
Stream(
const FdInfo &info,
void *buf, uint64_t
size, uint64_t offset);
143 #endif // CVMFS_CACHE_STREAM_H_
virtual int Close(int fd)
const manifest::Manifest * manifest() const
virtual uint32_t SizeOfTxn()
int PlantFd(int fd_in_cache_mgr)
virtual bool AcquireQuotaManager(QuotaManager *quota_mgr)
void * state_backing_cachemgr
pthread_mutex_t * lock_fd_table_
virtual int Reset(void *txn)
virtual int CommitTxn(void *txn)
virtual CacheManagerIds id()
FdInfo(const CacheManager::LabeledObject &object)
download::DownloadManager * external_download_mgr_
virtual int64_t GetSize(int fd)
download::DownloadManager * regular_download_mgr_
FdTable< FdInfo > fd_table_
CacheManager * MoveOutBackingCacheMgr(int *root_fd)
virtual int OpenFromTxn(void *txn)
virtual bool StoreBreadcrumb(const manifest::Manifest &manifest)
bool operator==(const FdInfo &other) const
virtual int64_t Pread(int fd, void *buf, uint64_t size, uint64_t offset)
bool operator!=(const FdInfo &other) const
virtual void CtrlTxn(const Label &label, const int flags, void *txn)
virtual int AbortTxn(void *txn)
UniquePtr< CacheManager > cache_mgr_
void SetExternalDownloadManager(download::DownloadManager *download_mgr)
download::DownloadManager * SelectDownloadManager(const FdInfo &info)
FdTable< FdInfo > * fd_table
virtual int StartTxn(const shash::Any &id, uint64_t size, void *txn)
virtual int64_t Write(const void *buf, uint64_t size, void *txn)
virtual ~StreamingCacheManager()
CacheManager::Label label
QuotaManager * quota_mgr()
virtual std::string Describe()
virtual int Readahead(int fd)
void SetRegularDownloadManager(download::DownloadManager *download_mgr)
virtual manifest::Breadcrumb LoadBreadcrumb(const std::string &fqrn)
StreamingCacheManager(unsigned max_open_fds, CacheManager *cache_mgr, download::DownloadManager *regular_download_mgr, download::DownloadManager *external_download_mgr)
virtual int Open(const LabeledObject &object)
virtual bool DoFreeState(void *data)
virtual int DoRestoreState(void *data)
int64_t Stream(const FdInfo &info, void *buf, uint64_t size, uint64_t offset)
virtual void * DoSaveState()