ewmscp
..
|
data block, used to hold the data that are being copied (or checksummed). More...
#include <block.h>
Public Member Functions | |
block (size_t aBlockSize) | |
Allocate block via mmap to ensure proper alignment along page borders, needed for efficient read/write ops. More... | |
~block () | |
size_t | size () const |
bool | empty () const |
size_t | max_size () const |
size_t | offset () const |
void | clear (size_t aOffset) |
void | bump_size (size_t additionalBytes) |
bool | isHole () const |
void | setHoleState (bool holeState) |
void * | bufferAt (size_t offset) |
only way to access the data in the block More... | |
const void * | bufferAt (size_t offset) const |
only way to access the data in the block More... | |
Static Public Member Functions | |
static const void * | nullBuffer () |
static size_t | nullBufferSize () |
Private Attributes | |
void * | buffer |
size_t | bytes |
number of bytes actually stored here More... | |
size_t | blockSize |
capacity of the block More... | |
size_t | startOffset |
offset in the file that is represented by this block More... | |
bool | hole |
represents a hole in the file with bytes bytes. More... | |
data block, used to hold the data that are being copied (or checksummed).
The interface implements a subset of standard container class methods.
|
explicit |
Allocate block via mmap to ensure proper alignment along page borders, needed for efficient read/write ops.
Definition at line 8 of file block.cpp.
References throwcall::badval(), blockSize, and buffer.
block::~block | ( | ) |
Definition at line 18 of file block.cpp.
References blockSize, buffer, and throwcall::good0().
void * block::bufferAt | ( | size_t | offset | ) |
only way to access the data in the block
Definition at line 28 of file block.cpp.
Referenced by copyRequest::base::doUnthreadedCopy(), inputHandler::davix::readerDavix::readBlock(), inputHandler::dcap::readerDcap::readBlock(), inputHandler::daosFs::readerDaosFs::readBlock(), inputHandler::libssh::readerLibssh::readBlock(), inputHandler::dummy::readerDummy::readBlock(), inputHandler::posixFile::readerPosixFile::readBlock(), inputHandler::davix::readerDavix::readBlockP(), inputHandler::daosFs::readerDaosFs::readBlockP(), inputHandler::dummy::readerDummy::readBlockP(), inputHandler::posixFile::readerPosixFile::readBlockP(), outputHandler::davix::writerDavix::writeBlock(), outputHandler::dcap::writerDcap::writeBlock(), outputHandler::libssh::writerLibssh::writeBlock(), outputHandler::posixFile::writerPosixFile::writeBlock(), outputHandler::daosFs::writerDaosFs::writeBlock(), outputHandler::posixFile::writerPosixFile::writeBlockP(), and outputHandler::daosFs::writerDaosFs::writeBlockP().
const void * block::bufferAt | ( | size_t | offset | ) | const |
only way to access the data in the block
Definition at line 22 of file block.cpp.
References buffer, hole, and nullBuffer().
|
inline |
< increase number of stored bytes
Definition at line 33 of file block.h.
References bytes.
Referenced by inputHandler::davix::readerDavix::readBlock(), inputHandler::dcap::readerDcap::readBlock(), inputHandler::daosFs::readerDaosFs::readBlock(), inputHandler::libssh::readerLibssh::readBlock(), inputHandler::dummy::readerDummy::readBlock(), inputHandler::posixFile::readerPosixFile::readBlock(), inputHandler::davix::readerDavix::readBlockP(), inputHandler::daosFs::readerDaosFs::readBlockP(), inputHandler::dummy::readerDummy::readBlockP(), and inputHandler::posixFile::readerPosixFile::readBlockP().
|
inline |
< declares the block as empty, DOES NOT ZERO THE CONTENT
Definition at line 28 of file block.h.
References bytes, hole, and startOffset.
Referenced by inputHandler::davix::readerDavix::readBlock(), inputHandler::dcap::readerDcap::readBlock(), inputHandler::daosFs::readerDaosFs::readBlock(), inputHandler::libssh::readerLibssh::readBlock(), inputHandler::dummy::readerDummy::readBlock(), inputHandler::posixFile::readerPosixFile::readBlock(), inputHandler::davix::readerDavix::readBlockP(), inputHandler::daosFs::readerDaosFs::readBlockP(), inputHandler::dummy::readerDummy::readBlockP(), and inputHandler::posixFile::readerPosixFile::readBlockP().
|
inline |
|
inline |
Definition at line 36 of file block.h.
References hole.
Referenced by copyRequest::base::doUnthreadedCopy(), outputHandler::davix::writerDavix::writeBlock(), outputHandler::dcap::writerDcap::writeBlock(), outputHandler::libssh::writerLibssh::writeBlock(), outputHandler::posixFile::writerPosixFile::writeBlock(), and outputHandler::daosFs::writerDaosFs::writeBlock().
|
inline |
< returns capacity of the block
Definition at line 22 of file block.h.
References blockSize.
Referenced by inputHandler::dummy::DummyDirectory::getNextEntry(), inputHandler::dummy::getStat(), inputHandler::Gpfs::readerGpfs::readBlock(), inputHandler::davix::readerDavix::readBlock(), inputHandler::dcap::readerDcap::readBlock(), inputHandler::daosFs::readerDaosFs::readBlock(), inputHandler::libssh::readerLibssh::readBlock(), inputHandler::dummy::readerDummy::readBlock(), inputHandler::posixFile::readerPosixFile::readBlock(), inputHandler::Gpfs::readerGpfs::readBlockP(), inputHandler::davix::readerDavix::readBlockP(), inputHandler::daosFs::readerDaosFs::readBlockP(), inputHandler::posixFile::readerPosixFile::readBlockP(), outputHandler::Gpfs::writerGpfs::writeBlock(), and outputHandler::Gpfs::writerGpfs::writeBlockP().
|
static |
Definition at line 37 of file block.cpp.
References throwcall::badval(), and nullBufferSize().
Referenced by bufferAt(), checksum::sslSum::update(), checksum::md5sum::update(), checksum::adler32noOpt::update(), and checksum::crc32::update().
|
static |
Definition at line 34 of file block.cpp.
Referenced by nullBuffer(), checksum::sslSum::update(), checksum::md5sum::update(), checksum::adler32noOpt::update(), checksum::crc32::update(), outputHandler::davix::writerDavix::writeBlock(), and outputHandler::dcap::writerDcap::writeBlock().
|
inline |
< returns offset in the file
Definition at line 25 of file block.h.
References startOffset.
Referenced by inputHandler::Gpfs::readerGpfs::readBlock(), outputHandler::Gpfs::writerGpfs::writeBlock(), outputHandler::Gpfs::writerGpfs::writeBlockP(), outputHandler::posixFile::writerPosixFile::writeBlockP(), and outputHandler::daosFs::writerDaosFs::writeBlockP().
|
inline |
Definition at line 39 of file block.h.
References hole.
Referenced by inputHandler::posixFile::readerPosixFile::readBlock().
|
inline |
< returns number of bytes actually stored here, may exceed blockSize for holes
Definition at line 16 of file block.h.
References bytes.
Referenced by copyRequest::base::doUnthreadedCopy(), inputHandler::davix::readerDavix::readBlock(), inputHandler::dcap::readerDcap::readBlock(), inputHandler::daosFs::readerDaosFs::readBlock(), inputHandler::libssh::readerLibssh::readBlock(), inputHandler::posixFile::readerPosixFile::readBlock(), inputHandler::davix::readerDavix::readBlockP(), inputHandler::daosFs::readerDaosFs::readBlockP(), inputHandler::posixFile::readerPosixFile::readBlockP(), outputHandler::davix::writerDavix::writeBlock(), outputHandler::dcap::writerDcap::writeBlock(), outputHandler::libssh::writerLibssh::writeBlock(), outputHandler::posixFile::writerPosixFile::writeBlock(), outputHandler::daosFs::writerDaosFs::writeBlock(), outputHandler::posixFile::writerPosixFile::writeBlockP(), and outputHandler::daosFs::writerDaosFs::writeBlockP().
|
private |
capacity of the block
Definition at line 10 of file block.h.
Referenced by block(), max_size(), and ~block().
|
private |
Definition at line 8 of file block.h.
Referenced by block(), bufferAt(), and ~block().
|
private |
|
private |
represents a hole in the file with bytes bytes.
Definition at line 12 of file block.h.
Referenced by bufferAt(), clear(), isHole(), and setHoleState().
|
private |