CMS 3D CMS Logo

StorageAccountProxy.h
Go to the documentation of this file.
1 #ifndef STORAGE_FACTORY_STORAGE_ACCOUNT_PROXY_H
2 #define STORAGE_FACTORY_STORAGE_ACCOUNT_PROXY_H
3 
7 #include <string>
8 #include <memory>
9 
18 class StorageAccountProxy : public Storage {
19 public:
20  StorageAccountProxy(const std::string &storageClass, std::unique_ptr<Storage> baseStorage);
21  ~StorageAccountProxy(void) override;
22 
23  using Storage::read;
24  using Storage::write;
25 
26  bool prefetch(const IOPosBuffer *what, IOSize n) override;
27  IOSize read(void *into, IOSize n) override;
28  IOSize read(void *into, IOSize n, IOOffset pos) override;
29  IOSize readv(IOBuffer *into, IOSize n) override;
30  IOSize readv(IOPosBuffer *into, IOSize n) override;
31  IOSize write(const void *from, IOSize n) override;
32  IOSize write(const void *from, IOSize n, IOOffset pos) override;
33  IOSize writev(const IOBuffer *from, IOSize n) override;
34  IOSize writev(const IOPosBuffer *from, IOSize n) override;
35 
36  IOOffset position(IOOffset offset, Relative whence = SET) override;
37  void resize(IOOffset size) override;
38  void flush(void) override;
39  void close(void) override;
40 
41 protected:
43 
45 
53 };
54 
55 #endif // STORAGE_FACTORY_STORAGE_ACCOUNT_PROXY_H
Storage::size
virtual IOOffset size(void) const
Definition: Storage.cc:77
StorageAccountProxy::close
void close(void) override
Definition: StorageAccountProxy.cc:97
StorageAccountProxy::resize
void resize(IOOffset size) override
Definition: StorageAccountProxy.cc:85
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
pos
Definition: PixelAliasList.h:18
StorageAccountProxy::flush
void flush(void) override
Definition: StorageAccountProxy.cc:91
Storage::SET
Definition: Storage.h:22
Storage::Relative
Relative
Definition: Storage.h:22
StorageAccountProxy::m_statsPrefetch
StorageAccount::Counter & m_statsPrefetch
Definition: StorageAccountProxy.h:52
edm::get_underlying_safe
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
Definition: get_underlying_safe.h:41
Storage.h
StorageAccount::Counter
Definition: StorageAccount.h:39
StorageAccountProxy::m_statsWrite
StorageAccount::Counter & m_statsWrite
Definition: StorageAccountProxy.h:49
StorageAccountProxy::m_statsReadV
StorageAccount::Counter & m_statsReadV
Definition: StorageAccountProxy.h:48
edm::propagate_const
Definition: propagate_const.h:32
StorageAccountProxy::m_statsPosition
StorageAccount::Counter & m_statsPosition
Definition: StorageAccountProxy.h:51
StorageAccountProxy::~StorageAccountProxy
~StorageAccountProxy(void) override
Definition: StorageAccountProxy.cc:16
StorageAccountProxy::readv
IOSize readv(IOBuffer *into, IOSize n) override
Definition: StorageAccountProxy.cc:36
StorageAccount.h
StorageAccountProxy::m_baseStorage
edm::propagate_const< std::unique_ptr< Storage > > m_baseStorage
Definition: StorageAccountProxy.h:44
StorageAccountProxy::prefetch
bool prefetch(const IOPosBuffer *what, IOSize n) override
Definition: StorageAccountProxy.cc:103
IOBuffer
Definition: IOBuffer.h:7
IOOffset
int64_t IOOffset
Definition: IOTypes.h:19
StorageAccountProxy::m_statsRead
StorageAccount::Counter & m_statsRead
Definition: StorageAccountProxy.h:47
StorageAccountProxy::write
IOSize write(const void *from, IOSize n) override
Definition: StorageAccountProxy.cc:50
StorageAccountProxy
Definition: StorageAccountProxy.h:18
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Storage::position
virtual IOOffset position(void) const
Definition: Storage.cc:72
IOInput::read
int read(void)
Definition: IOInput.cc:52
IOPosBuffer
Definition: IOPosBuffer.h:7
StorageAccountProxy::releaseStorage
void releaseStorage()
Definition: StorageAccountProxy.h:42
StorageAccountProxy::m_statsWriteV
StorageAccount::Counter & m_statsWriteV
Definition: StorageAccountProxy.h:50
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
IOSize
size_t IOSize
Definition: IOTypes.h:14
get_underlying_safe.h
Storage
Definition: Storage.h:20
StorageAccount::StorageClassToken
Definition: StorageAccount.h:104
StorageAccountProxy::StorageAccountProxy
StorageAccountProxy(const std::string &storageClass, std::unique_ptr< Storage > baseStorage)
Definition: StorageAccountProxy.cc:3
Storage::write
virtual IOSize write(const void *from, IOSize n, IOOffset pos)
Definition: Storage.cc:44
StorageAccountProxy::m_token
StorageAccount::StorageClassToken m_token
Definition: StorageAccountProxy.h:46
StorageAccountProxy::writev
IOSize writev(const IOBuffer *from, IOSize n) override
Definition: StorageAccountProxy.cc:64