ewmscp  ..
outputHandlerGpfs.h
Go to the documentation of this file.
1 #ifndef __outputHandlerGpfs_h__
2 #define __outputHandlerGpfs_h__
4 #include "gpfsCommon.h"
5 #include "Options.h"
6 
7 namespace outputHandler {
8 
9  class Gpfs: public posixFile {
11  public:
12  class writerGpfs: public writerPosixFile, virtual public gpfsIoCommon {
14  void doSpecialFdHandling(size_t sourceSize);
15  void setAclData();
16  public:
17  writerGpfs(const std::string& aPath,
18  bool mightAppend,
19  size_t sourceSize,
20  size_t readBlockSize,
22  bool noWrite,
23  std::unique_ptr<ioHandle::attrDataType> attrData,
24  std::unique_ptr<acl::list> aAclData);
25  writerGpfs(std::string& aPath,
26  size_t sourceSize,
27  bool noWrite,
28  std::unique_ptr<ioHandle::attrDataType> aAttrData,
29  std::unique_ptr<acl::list> aAclData,
30  base& handler);
31  ~writerGpfs() noexcept(false) override;
32  void writeBlock(const block& b) override;
33  void writeBlockP(const block& b) override;
34  };
35  Gpfs() = default;
36  ~Gpfs() override = default;
37  std::unique_ptr<writer> newWriter(const std::string& path,
38  bool mightAppend,
39  size_t sourceSize,
40  size_t readBlockSize,
41  copyRequest::stateType &state,
42  bool noWrite,
43  std::unique_ptr<ioHandle::attrDataType>,
44  std::unique_ptr<acl::list> aclData) override;
45  std::unique_ptr<writer> newTmpWriter(std::string& path,
46  size_t /*sourceSize*/,
47  bool noWrite,
48  std::unique_ptr<ioHandle::attrDataType> attrData,
49  std::unique_ptr<acl::list> aclData) override;
50  base::renameRetvalType rename(const std::string& fromPath,
51  const std::unique_ptr<const genericStat>& readInitialStat,
52  const std::string& toPath,
53  copyRequest::stateType& state) override;
54  };
55 }; // end namespace outputHandler
56 
57 
58 #endif
gpfsIoCommon::attrDataType
Definition: gpfsCommon.h:18
outputHandler::Gpfs::writerGpfs::writeBlockP
void writeBlockP(const block &b) override
Definition: outputHandlerGpfs.cpp:127
outputHandler::posixFile
Definition: outputHandlerPosixFile.h:10
outputHandler::Gpfs::newWriter
std::unique_ptr< writer > newWriter(const std::string &path, bool mightAppend, size_t sourceSize, size_t readBlockSize, copyRequest::stateType &state, bool noWrite, std::unique_ptr< ioHandle::attrDataType >, std::unique_ptr< acl::list > aclData) override
Definition: outputHandlerGpfs.cpp:20
outputHandler::Gpfs::writerGpfs::usePreallocate
static options::single< bool > usePreallocate
Definition: outputHandlerGpfs.h:13
options::single< bool >
class specialisation for options of type bool
Definition: Options.h:595
genericStat
generic stat abstraction class Used to abstract the variants of the stat structure.
Definition: genericStat.h:12
gpfsIoCommon
Definition: gpfsCommon.h:8
outputHandler::Gpfs::writerGpfs
Definition: outputHandlerGpfs.h:12
outputHandler
Definition: ioHandle.h:9
copyRequest::stateType
Definition: copyRequestTypes.h:66
Options.h
outputHandlerPosixFile.h
outputHandler::Gpfs::newTmpWriter
std::unique_ptr< writer > newTmpWriter(std::string &path, size_t, bool noWrite, std::unique_ptr< ioHandle::attrDataType > attrData, std::unique_ptr< acl::list > aclData) override
Definition: outputHandlerGpfs.cpp:34
outputHandler::base
Definition: outputHandler.h:17
outputHandler::base::writer
Definition: outputHandler.h:52
outputHandler::base::renameRetvalType
renameRetvalType
Definition: outputHandler.h:106
block
data block, used to hold the data that are being copied (or checksummed).
Definition: block.h:7
gpfsCommon.h
outputHandler::Gpfs::writerGpfs::writerGpfs
writerGpfs(const std::string &aPath, bool mightAppend, size_t sourceSize, size_t readBlockSize, copyRequest::stateType &state, bool noWrite, std::unique_ptr< ioHandle::attrDataType > attrData, std::unique_ptr< acl::list > aAclData)
Definition: outputHandlerGpfs.cpp:74
outputHandler::base::factoryTemplate
template for factoryClass-derived factories
Definition: outputHandler.h:39
outputHandler::Gpfs::factory
static factoryTemplate< Gpfs > factory
Definition: outputHandlerGpfs.h:10
outputHandler::Gpfs::writerGpfs::~writerGpfs
~writerGpfs() noexcept(false) override
Definition: outputHandlerGpfs.cpp:102
outputHandler::Gpfs::rename
base::renameRetvalType rename(const std::string &fromPath, const std::unique_ptr< const genericStat > &readInitialStat, const std::string &toPath, copyRequest::stateType &state) override
Definition: outputHandlerGpfs.cpp:171
outputHandler::Gpfs
Definition: outputHandlerGpfs.h:9
outputHandler::Gpfs::writerGpfs::doSpecialFdHandling
void doSpecialFdHandling(size_t sourceSize)
Definition: outputHandlerGpfs.cpp:51
ioHandle
class as base for inputHandler::base::reader and outputHandler::base::writer containing the common pa...
Definition: ioHandle.h:15
outputHandler::Gpfs::writerGpfs::setAclData
void setAclData()
Definition: outputHandlerGpfs.cpp:134
outputHandler::Gpfs::writerGpfs::writeBlock
void writeBlock(const block &b) override
Definition: outputHandlerGpfs.cpp:119
copyRequest
Definition: checksumTestRequestProvider.cpp:25
posixFileIoCommon::path
const std::string & path
Definition: posixFileCommon.h:20
acl
Definition: acl.cpp:10