25 #ifndef __XRD_CL_FILE_STATE_HANDLER_HH__
26 #define __XRD_CL_FILE_STATE_HANDLER_HH__
48 class PgReadRetryHandler;
49 class PgReadSubstitutionHandler;
55 class ResponseHandlerHolder;
81 friend class ::PgReadHandler;
82 friend class ::PgReadRetryHandler;
83 friend class ::PgReadSubstitutionHandler;
84 friend class ::OpenHandler;
111 FileStateHandler(
bool useVirtRedirector,
FilePlugIn *& plugin );
133 uint16_t timeout = 0 );
144 uint16_t timeout = 0 );
159 uint16_t timeout = 0 );
182 uint16_t timeout = 0 );
202 uint16_t timeout = 0 );
220 PgReadHandler *handler,
221 uint16_t timeout = 0 );
243 uint16_t timeout = 0 );
260 uint16_t timeout = 0 );
276 uint16_t timeout = 0 );
297 uint16_t timeout = 0 );
309 uint16_t timeout = 0 );
322 uint16_t timeout = 0 );
337 uint16_t timeout = 0 );
350 uint16_t timeout = 0 );
364 const struct iovec *
iov,
367 uint16_t timeout = 0 );
384 uint16_t timeout = 0 );
400 uint16_t timeout = 0 );
413 uint16_t timeout = 0 );
429 uint16_t timeout = 0 );
445 uint16_t timeout = 0 );
461 uint16_t timeout = 0 );
475 uint16_t timeout = 0 );
490 uint16_t timeout = 0 );
507 uint16_t timeout = 0 );
521 const struct iovec *
iov,
524 uint16_t timeout = 0 );
549 void OnStateRedirection(
const std::string &redirectUrl,
572 bool SetProperty(
const std::string &name,
const std::string &value );
579 bool GetProperty(
const std::string &name, std::string &value )
const;
600 void Tick( time_t now );
605 void TimeOutRequests( time_t now );
610 void AfterForkChild();
626 request(r), handler(h), params(p) {}
644 const std::vector<T> &attrs,
646 uint16_t timeout = 0 );
659 bool IsRecoverable(
const XRootDStatus &stataus )
const;
683 bool IsReadOnly()
const;
703 void ReSendQueuedMessages();
708 void ReWriteFileHandle(
Message *msg );
715 pOpenTime.tv_sec = 0; pOpenTime.tv_usec = 0;
748 std::unique_ptr<XrdSys::KernelBuffer> kbuff,
807 #endif // __XRD_CL_FILE_STATE_HANDLER_HH__
uint64_t pWBytes
Definition: XrdClFileStateHandler.hh:780
unsigned char kXR_char
Definition: XPtypes.hh:65
ListXAttrImpl< false > ListXAttr(Ctx< File > file)
Definition: XrdClFileOperations.hh:1155
CloseImpl< false > Close
Definition: XrdClFileOperations.hh:308
FilePlugIn *& pPlugin
Definition: XrdClFileStateHandler.hh:803
Definition: XrdClAnyObject.hh:32
void Lock()
Lock the internal lock.
Definition: XrdClFileStateHandler.hh:584
SetXAttrImpl< false > SetXAttr(Ctx< File > file, Arg< std::string > name, Arg< std::string > value)
Definition: XrdClFileOperations.hh:815
void UnLock()
Unlock the internal lock.
Definition: XrdClFileStateHandler.hh:592
PgRead flags.
Definition: XrdClFileStateHandler.hh:62
Definition: XrdClMessageUtils.hh:131
uint64_t pRBytes
Definition: XrdClFileStateHandler.hh:778
std::vector< ChunkInfo > ChunkList
List of chunks.
Definition: XrdClXRootDResponses.hh:980
uint64_t pSessionId
Definition: XrdClFileStateHandler.hh:766
VectorReadImpl< false > VectorRead
Definition: XrdClFileOperations.hh:559
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
FcntlImpl< false > Fcntl
Definition: XrdClFileOperations.hh:716
uint64_t pVWBytes
Definition: XrdClFileStateHandler.hh:781
Object stat info.
Definition: XrdClXRootDResponses.hh:399
uint64_t pWCount
Definition: XrdClFileStateHandler.hh:785
RequestData()
Definition: XrdClFileStateHandler.hh:623
The file is closed.
Definition: XrdClFileStateHandler.hh:92
Definition: XrdClOptional.hh:43
Message * request
Definition: XrdClFileStateHandler.hh:627
DelXAttrImpl< false > DelXAttr(Ctx< File > file, Arg< std::string > name)
Definition: XrdClFileOperations.hh:1050
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
SyncImpl< false > Sync
Definition: XrdClFileOperations.hh:458
uint64_t pVSegs
Definition: XrdClFileStateHandler.hh:782
ReadImpl< false > Read(Ctx< File > file, Arg< uint64_t > offset, Arg< uint32_t > size, Arg< void * > buffer, uint16_t timeout=0)
Factory for creating ReadImpl objects.
Definition: XrdClFileOperations.hh:264
bool pDoRecoverWrite
Definition: XrdClFileStateHandler.hh:768
ResponseHandler * handler
Definition: XrdClFileStateHandler.hh:628
Procedure execution status.
Definition: XrdClStatus.hh:112
static const int kXR_pgRetry
Definition: XProtocol.hh:497
GetXAttrImpl< false > GetXAttr(Ctx< File > file, Arg< std::string > name)
Definition: XrdClFileOperations.hh:933
TruncateImpl< false > Truncate(Ctx< File > file, Arg< uint64_t > size)
Definition: XrdClFileOperations.hh:508
bool pAllowBundledClose
Definition: XrdClFileStateHandler.hh:772
Opening is in progress.
Definition: XrdClFileStateHandler.hh:96
VectorWriteImpl< false > VectorWrite
Definition: XrdClFileOperations.hh:605
Information returned by file open operation.
Definition: XrdClXRootDResponses.hh:852
void ResetMonitoringVars()
Reset monitoring vars.
Definition: XrdClFileStateHandler.hh:713
URL * pWrtRecoveryRedir
Definition: XrdClFileStateHandler.hh:760
Definition: XrdSysPthread.hh:164
bool pDoRecoverRead
Definition: XrdClFileStateHandler.hh:767
LocalFileHandler * pLFileHandler
Definition: XrdClFileStateHandler.hh:798
std::list< RequestData > RequestList
Definition: XrdClFileStateHandler.hh:631
Definition: XrdOucIOVec.hh:65
std::set< Message * > pInTheFly
Definition: XrdClFileStateHandler.hh:765
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:38
WriteImpl< false > Write(Ctx< File > file, Arg< uint64_t > offset, Arg< uint32_t > size, Arg< const void * > buffer, uint16_t timeout=0)
Factory for creating WriteImpl objects.
Definition: XrdClFileOperations.hh:414
timeval pOpenTime
Definition: XrdClFileStateHandler.hh:777
std::vector< HostInfo > HostList
Definition: XrdClXRootDResponses.hh:1045
uint64_t pRCount
Definition: XrdClFileStateHandler.hh:783
MessageSendParams params
Definition: XrdClFileStateHandler.hh:629
uint16_t pOpenFlags
Definition: XrdClFileStateHandler.hh:763
Opening has failed.
Definition: XrdClFileStateHandler.hh:94
Opening has succeeded.
Definition: XrdClFileStateHandler.hh:93
none object for initializing empty Optional
Definition: XrdClOptional.hh:35
Request status.
Definition: XrdClXRootDResponses.hh:218
Definition: XrdClFileStateHandler.hh:70
StatImpl< false > Stat(Ctx< File > file, Arg< bool > force, uint16_t timeout=0)
Definition: XrdClFileOperations.hh:358
FileStatus
State of the file.
Definition: XrdClFileStateHandler.hh:90
bool pUseVirtRedirector
Definition: XrdClFileStateHandler.hh:770
ResponseHandlerHolder * pReOpenHandler
Definition: XrdClFileStateHandler.hh:793
Definition: XrdClFileStateHandler.hh:621
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
Recovering from an error.
Definition: XrdClFileStateHandler.hh:95
RequestData(Message *r, ResponseHandler *h, const MessageSendParams &p)
Definition: XrdClFileStateHandler.hh:624
CheckpointImpl< false > Checkpoint(Ctx< File > file, Arg< ChkPtCode > code, uint16_t timeout=0)
Factory for creating ReadImpl objects.
Definition: XrdClCheckpointOperation.hh:72
FileStatus pFileState
Definition: XrdClFileStateHandler.hh:753
XRootDStatus pCloseReason
Definition: XrdClFileStateHandler.hh:787
uint64_t pVWCount
Definition: XrdClFileStateHandler.hh:786
Flags
PgRead flags.
Definition: XrdClFileStateHandler.hh:67
RequestList pToBeRecovered
Definition: XrdClFileStateHandler.hh:764
Handle an async response.
Definition: XrdClXRootDResponses.hh:1050
Handle the stateful operations.
Definition: XrdClFileStateHandler.hh:79
Definition: XrdClLocalFileHandler.hh:32
OpenImpl< false > Open
Definition: XrdClFileOperations.hh:211
URL representation.
Definition: XrdClURL.hh:30
URL * pFileUrl
Definition: XrdClFileStateHandler.hh:756
bool pFollowRedirects
Definition: XrdClFileStateHandler.hh:769
uint64_t pVRCount
Definition: XrdClFileStateHandler.hh:784
XRootDStatus pStatus
Definition: XrdClFileStateHandler.hh:754
#define XRDOUC_ENUM_OPERATORS(T)
Definition: XrdOucEnum.hh:22
uint8_t * pFileHandle
Definition: XrdClFileStateHandler.hh:761
bool pIsChannelEncrypted
Definition: XrdClFileStateHandler.hh:771
URL * pStateRedirect
Definition: XrdClFileStateHandler.hh:759
VisaImpl< false > Visa
Definition: XrdClFileOperations.hh:755
WriteVImpl< false > WriteV(Ctx< File > file, Arg< uint64_t > offset, Arg< std::vector< iovec >> iov, uint16_t timeout=0)
Factory for creating WriteVImpl objects.
Definition: XrdClFileOperations.hh:666
URL * pDataServer
Definition: XrdClFileStateHandler.hh:757
uint16_t pOpenMode
Definition: XrdClFileStateHandler.hh:762
StatInfo * pStatInfo
Definition: XrdClFileStateHandler.hh:755
uint64_t pVRBytes
Definition: XrdClFileStateHandler.hh:779
XrdSysMutex pMutex
Definition: XrdClFileStateHandler.hh:752
URL * pLoadBalancer
Definition: XrdClFileStateHandler.hh:758
Binary blob representation.
Definition: XrdClBuffer.hh:33