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;
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;
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;
198 Arg<std::vector<iovec>>
iov,
199 uint16_t timeout = 0 )
static const int kXR_ckpRollback
Definition XProtocol.hh:215
static const int kXR_ckpCommit
Definition XProtocol.hh:213
static const int kXR_ckpBegin
Definition XProtocol.hh:212
Definition XrdClArg.hh:234
Checkpoint operation (.
Definition XrdClCheckpointOperation.hh:29
std::string ToString()
Definition XrdClCheckpointOperation.hh:46
@ CodeArg
Definition XrdClCheckpointOperation.hh:41
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition XrdClCheckpointOperation.hh:60
Checkpointed write operation (.
Definition XrdClCheckpointOperation.hh:84
@ BufArg
Definition XrdClCheckpointOperation.hh:96
@ LenArg
Definition XrdClCheckpointOperation.hh:96
@ OffArg
Definition XrdClCheckpointOperation.hh:96
std::string ToString()
Definition XrdClCheckpointOperation.hh:101
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition XrdClCheckpointOperation.hh:115
Checkpointed WriteV operation (.
Definition XrdClCheckpointOperation.hh:144
@ IovecArg
Definition XrdClCheckpointOperation.hh:156
@ OffArg
Definition XrdClCheckpointOperation.hh:156
std::string ToString()
Definition XrdClCheckpointOperation.hh:161
XRootDStatus RunImpl(PipelineHandler *handler, uint16_t pipelineTimeout)
Definition XrdClCheckpointOperation.hh:175
std::tuple< Args... > args
Operation arguments.
Definition XrdClOperations.hh:771
Derived< HasHndl > Timeout(uint16_t timeout)
Set operation timeout.
Definition XrdClOperations.hh:681
uint16_t timeout
Operation timeout.
Definition XrdClOperations.hh:776
Definition XrdClFileOperations.hh:46
friend class FileOperation
Definition XrdClFileOperations.hh:48
Ctx< File > file
The file object itself.
Definition XrdClFileOperations.hh:88
std::unique_ptr< PipelineHandler > handler
Operation handler.
Definition XrdClOperations.hh:309
Definition XrdClOperations.hh:64
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdClAction.hh:34
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
CheckpointImpl< false > Checkpoint(Ctx< File > file, Arg< ChkPtCode > code, uint16_t timeout=0)
Factory for creating ReadImpl objects.
Definition XrdClCheckpointOperation.hh:72
ChkPtCode
Checkpoint operation code.
Definition XrdClCheckpointOperation.hh:19
@ BEGIN
Definition XrdClCheckpointOperation.hh:20
@ COMMIT
Definition XrdClCheckpointOperation.hh:20
@ ROLLBACK
Definition XrdClCheckpointOperation.hh:20
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
Utility class for storing a pointer to operation context.
Definition XrdClCtx.hh:39
Definition XrdClOperationHandlers.hh:662
Definition XrdOucIOVec.hh:65