![]() |
XRootD
|
Implementation of a buffer using a simple vector<char> Simplest implementation of a buffer using vector<char> for underlying memory. Capacity is reserved on construction and released back at destruction. Does very little itself, except to provide access methods. More...
#include <XrdCephBufferDataSimple.hh>
Public Member Functions | |
XrdCephBufferDataSimple (size_t bufCapacity) | |
virtual | ~XrdCephBufferDataSimple () |
virtual size_t | capacity () const override |
virtual ssize_t | invalidate () override |
copy data from the internal buffer to buf More... | |
virtual bool | isValid () const override |
Currently occupied and valid space, which may be less than capacity. More... | |
virtual size_t | length () const override |
total available space More... | |
virtual const void * | raw () const override |
write data into the buffer, store the external offset if provided More... | |
virtual void * | raw () override |
virtual ssize_t | readBuffer (void *buf, off_t offset, size_t blen) const override |
set cache into an invalid state More... | |
virtual void | setLength (size_t len) override |
Currently occupied and valid space, which may be less than capacity. More... | |
virtual off_t | setStartingOffset (off_t offset) override |
virtual void | setValid (bool isValid) override |
virtual off_t | startingOffset () const override |
virtual ssize_t | writeBuffer (const void *buf, off_t offset, size_t blen, off_t externalOffset=0) override |
set cache into an invalid state; do this before writes to be consistent More... | |
![]() | |
virtual | ~IXrdCephBufferData () |
Protected Attributes | |
std::vector< char > | m_buffer |
size_t | m_bufferSize |
size_t | m_bufLength = 0 |
what does the first byte of the buffer map to for external offsets More... | |
off_t | m_externalOffset = 0 |
std::atomic< long > | m_stats_read_bytes {0} |
long | m_stats_read_longest {0} |
std::atomic< long > | m_stats_read_req {0} |
std::atomic< long > | m_stats_read_timer {0} |
length of valid stored data; might be less than the capacity More... | |
std::atomic< long > | m_stats_write_bytes {0} |
long | m_stats_write_longest {0} |
std::atomic< long > | m_stats_write_req {0} |
std::atomic< long > | m_stats_write_timer {0} |
bool | m_valid = false |
the buffer size More... | |
Static Protected Attributes | |
static std::atomic< long > | m_total_memory_nbuffers {0} |
total number of buffers actively open More... | |
static std::atomic< long > | m_total_memory_used {0} |
total memory of all these buffers More... | |
Implementation of a buffer using a simple vector<char> Simplest implementation of a buffer using vector<char> for underlying memory. Capacity is reserved on construction and released back at destruction. Does very little itself, except to provide access methods.
Definition at line 23 of file XrdCephBufferDataSimple.hh.
XrdCephBufferDataSimple::XrdCephBufferDataSimple | ( | size_t | bufCapacity | ) |
Definition at line 23 of file XrdCephBufferDataSimple.cc.
References BUFLOG, m_total_memory_nbuffers, m_total_memory_used, and m_valid.
|
virtual |
Definition at line 33 of file XrdCephBufferDataSimple.cc.
References BUFLOG, m_buffer, m_total_memory_nbuffers, m_total_memory_used, and m_valid.
|
overridevirtual |
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 48 of file XrdCephBufferDataSimple.cc.
References m_bufferSize.
Referenced by raw(), and writeBuffer().
|
overridevirtual |
copy data from the internal buffer to buf
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 76 of file XrdCephBufferDataSimple.cc.
References m_bufLength, m_externalOffset, and m_valid.
|
overridevirtual |
Currently occupied and valid space, which may be less than capacity.
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 60 of file XrdCephBufferDataSimple.cc.
References m_valid.
Referenced by setValid().
|
overridevirtual |
total available space
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 54 of file XrdCephBufferDataSimple.cc.
References m_bufLength.
|
inlineoverridevirtual |
write data into the buffer, store the external offset if provided
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 43 of file XrdCephBufferDataSimple.hh.
References capacity(), and m_buffer.
|
inlineoverridevirtual |
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 44 of file XrdCephBufferDataSimple.hh.
References capacity(), and m_buffer.
|
overridevirtual |
set cache into an invalid state
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 86 of file XrdCephBufferDataSimple.cc.
References m_buffer, m_bufLength, and m_valid.
|
overridevirtual |
Currently occupied and valid space, which may be less than capacity.
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 57 of file XrdCephBufferDataSimple.cc.
References m_bufLength.
|
overridevirtual |
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 71 of file XrdCephBufferDataSimple.cc.
References m_externalOffset.
|
overridevirtual |
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 63 of file XrdCephBufferDataSimple.cc.
References isValid(), and m_valid.
|
overridevirtual |
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 68 of file XrdCephBufferDataSimple.cc.
References m_externalOffset.
|
overridevirtual |
set cache into an invalid state; do this before writes to be consistent
Implements XrdCephBuffer::IXrdCephBufferData.
Definition at line 125 of file XrdCephBufferDataSimple.cc.
References BUFLOG, capacity(), m_buffer, m_bufLength, m_externalOffset, and m_valid.
|
protected |
Definition at line 50 of file XrdCephBufferDataSimple.hh.
Referenced by ~XrdCephBufferDataSimple(), raw(), readBuffer(), and writeBuffer().
|
protected |
Definition at line 48 of file XrdCephBufferDataSimple.hh.
Referenced by capacity().
|
protected |
what does the first byte of the buffer map to for external offsets
Definition at line 52 of file XrdCephBufferDataSimple.hh.
Referenced by invalidate(), length(), readBuffer(), setLength(), and writeBuffer().
|
protected |
Definition at line 51 of file XrdCephBufferDataSimple.hh.
Referenced by invalidate(), setStartingOffset(), startingOffset(), and writeBuffer().
|
protected |
Definition at line 56 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 58 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 57 of file XrdCephBufferDataSimple.hh.
|
protected |
length of valid stored data; might be less than the capacity
Definition at line 55 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 56 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 58 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 57 of file XrdCephBufferDataSimple.hh.
|
protected |
Definition at line 55 of file XrdCephBufferDataSimple.hh.
|
staticprotected |
total number of buffers actively open
Definition at line 62 of file XrdCephBufferDataSimple.hh.
Referenced by XrdCephBufferDataSimple(), and ~XrdCephBufferDataSimple().
|
staticprotected |
total memory of all these buffers
Definition at line 61 of file XrdCephBufferDataSimple.hh.
Referenced by XrdCephBufferDataSimple(), and ~XrdCephBufferDataSimple().
|
protected |
the buffer size
Definition at line 49 of file XrdCephBufferDataSimple.hh.
Referenced by XrdCephBufferDataSimple(), ~XrdCephBufferDataSimple(), invalidate(), isValid(), readBuffer(), setValid(), and writeBuffer().