CMS 3D CMS Logo

LocalCacheFile.h
Go to the documentation of this file.
1 #ifndef STORAGE_FACTORY_LOCAL_CACHE_FILE_H
2 #define STORAGE_FACTORY_LOCAL_CACHE_FILE_H
3 
7 #include <vector>
8 #include <string>
9 #include <memory>
10 
12 class LocalCacheFile : public Storage {
13 public:
14  LocalCacheFile(std::unique_ptr<Storage> base, const std::string &tmpdir = "");
15  ~LocalCacheFile(void) override;
16 
17  using Storage::read;
18  using Storage::write;
19 
20  bool prefetch(const IOPosBuffer *what, IOSize n) override;
21  IOSize read(void *into, IOSize n) override;
22  IOSize read(void *into, IOSize n, IOOffset pos) override;
23  IOSize readv(IOBuffer *into, IOSize n) override;
24  IOSize readv(IOPosBuffer *into, IOSize n) override;
25  IOSize write(const void *from, IOSize n) override;
26  IOSize write(const void *from, IOSize n, IOOffset pos) override;
27  IOSize writev(const IOBuffer *from, IOSize n) override;
28  IOSize writev(const IOPosBuffer *from, IOSize n) override;
29 
30  IOOffset position(IOOffset offset, Relative whence = SET) override;
31  void resize(IOOffset size) override;
32  void flush(void) override;
33  void close(void) override;
34 
35 private:
37 
39  std::vector<char> present_;
43  unsigned int cacheCount_;
44  unsigned int cacheTotal_;
45 };
46 
47 #endif // STORAGE_FACTORY_LOCAL_CACHE_FILE_H
Definition: start.py:1
void cache(IOOffset start, IOOffset end)
IOSize write(const void *from, IOSize n) override
unsigned int cacheTotal_
base
Main Program
Definition: newFWLiteAna.py:92
IOSize readv(IOBuffer *into, IOSize n) override
void flush(void) override
void resize(IOOffset size) override
edm::propagate_const< std::unique_ptr< Storage > > storage_
void close(void) override
Relative
Definition: Storage.h:22
virtual IOSize write(const void *from, IOSize n, IOOffset pos)
Definition: Storage.cc:44
unsigned int cacheCount_
virtual IOOffset position(void) const
Definition: Storage.cc:72
#define end
Definition: vmac.h:39
int read(void)
Definition: IOInput.cc:52
std::vector< char > present_
virtual IOOffset size(void) const
Definition: Storage.cc:77
LocalCacheFile(std::unique_ptr< Storage > base, const std::string &tmpdir="")
int64_t IOOffset
Definition: IOTypes.h:19
edm::propagate_const< std::unique_ptr< File > > file_
size_t IOSize
Definition: IOTypes.h:14
IOSize writev(const IOBuffer *from, IOSize n) override
~LocalCacheFile(void) override
bool prefetch(const IOPosBuffer *what, IOSize n) override