8 #ifndef SRC_XRDCL_XRDCLCHECKPOINTOPERATION_HH_
9 #define SRC_XRDCL_XRDCLCHECKPOINTOPERATION_HH_
26 template<
bool HasHndl>
63 uint16_t
timeout = pipelineTimeout < this->timeout ?
64 pipelineTimeout : this->
timeout;
65 return this->
file->Checkpoint( code, handler, timeout );
81 template<
bool HasHndl>
83 Arg<uint64_t>, Arg<uint32_t>, Arg<const void*>>
117 uint64_t off = std::get<OffArg>( this->
args ).Get();
118 uint32_t len = std::get<LenArg>( this->
args ).Get();
119 const void* buf = std::get<BufArg>( this->
args ).Get();
120 uint16_t
timeout = pipelineTimeout < this->timeout ?
121 pipelineTimeout : this->
timeout;
122 return this->
file->ChkptWrt( off, len, buf, handler, timeout );
131 uint16_t timeout = 0 )
134 std::move( size ), std::move( buffer ) ).
Timeout( timeout );
141 template<
bool HasHndl>
143 Arg<uint64_t>, Arg<std::vector<iovec>>>
177 uint64_t off = std::get<OffArg>( this->
args ).Get();
178 std::vector<iovec> &stdiov = std::get<IovecArg>( this->
args ).Get();
179 uint16_t
timeout = pipelineTimeout < this->timeout ?
180 pipelineTimeout : this->
timeout;
182 int iovcnt = stdiov.size();
184 for(
size_t i = 0; i < stdiov.size(); ++i )
186 iov[i].iov_base = stdiov[i].iov_base;
187 iov[i].iov_len = stdiov[i].iov_len;
190 return this->
file->ChkptWrtV( off, iov, iovcnt, handler, timeout );
198 Arg<std::vector<iovec>>
iov,
199 uint16_t timeout = 0 )
Definition: XrdClCheckpointOperation.hh:96
Definition: XrdClCheckpointOperation.hh:41
std::string ToString()
Definition: XrdClCheckpointOperation.hh:46
Utility class for storing a pointer to operation context.
Definition: XrdClCtx.hh:37
Definition: XrdClCheckpointOperation.hh:20
Definition: XrdClCheckpointOperation.hh:20
ChkPtCode
Checkpoint operation code.
Definition: XrdClCheckpointOperation.hh:18
Definition: XrdClOperationTimeout.hh:19
uint16_t timeout
Operation timeout.
Definition: XrdClOperations.hh:766
ChkptWrtVImpl< false > ChkptWrtV(Ctx< File > file, Arg< uint64_t > offset, Arg< std::vector< iovec >> iov, uint16_t timeout=0)
Factory for creating ChkptWrtVImpl objects.
Definition: XrdClCheckpointOperation.hh:197
Definition: XrdClCheckpointOperation.hh:96
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition: XrdClCheckpointOperation.hh:175
std::string ToString()
Definition: XrdClCheckpointOperation.hh:161
static const int kXR_ckpCommit
Definition: XProtocol.hh:213
Definition: XrdClCheckpointOperation.hh:20
Definition: XrdOucIOVec.hh:65
std::tuple< Args...> args
Operation arguments.
Definition: XrdClOperations.hh:761
Definition: XrdClArg.hh:232
Request status.
Definition: XrdClXRootDResponses.hh:218
static const int kXR_ckpBegin
Definition: XProtocol.hh:212
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition: XrdClCheckpointOperation.hh:60
ChkptWrtImpl< false > ChkptWrt(Ctx< File > file, Arg< uint64_t > offset, Arg< uint32_t > size, Arg< const void * > buffer, uint16_t timeout=0)
Factory for creating ReadImpl objects.
Definition: XrdClCheckpointOperation.hh:129
Definition: XrdClOperations.hh:58
Checkpointed write operation (.
Definition: XrdClCheckpointOperation.hh:82
CheckpointImpl< false > Checkpoint(Ctx< File > file, Arg< ChkPtCode > code, uint16_t timeout=0)
Factory for creating ReadImpl objects.
Definition: XrdClCheckpointOperation.hh:72
Definition: XrdClFileOperations.hh:45
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition: XrdClCheckpointOperation.hh:115
friend class FileOperation
Definition: XrdClFileOperations.hh:48
std::string ToString()
Definition: XrdClCheckpointOperation.hh:101
Definition: XrdClCheckpointOperation.hh:156
Checkpointed WriteV operation (.
Definition: XrdClCheckpointOperation.hh:142
Definition: XrdClCheckpointOperation.hh:96
Definition: XrdClCheckpointOperation.hh:156
static const int kXR_ckpRollback
Definition: XProtocol.hh:215
Ctx< File > file
The file object itself.
Definition: XrdClFileOperations.hh:88
std::unique_ptr< PipelineHandler > handler
Operation handler.
Definition: XrdClOperations.hh:304
Checkpoint operation (.
Definition: XrdClCheckpointOperation.hh:27