46#include "XrdOuc/XrdOucHash.hh"
47#include "XrdSys/XrdSysPthread.hh"
49#define ConnectionManager XrdClientConn::GetConnectionMgr()
108 long long begin_offs,
112 long &outstandingblks );
115 long long begin_offs,
119 long long begin_offs,
123 long long end_offs) {
135 long long end_offs,
bool remove_overlapped =
false) {
156 long long &bytessubmitted,
163 long long &misscount,
169 long long &readreqcnt,
172 float &bytesusefulness
227 struct ServerResponseHeader
230 struct ServerResponseBody_Error
241 const void *reqMoreData,
242 void **answMoreDataAllocated,
243 void *answMoreData,
bool HasToAlloc,
244 char *CmdName,
int substreamid = 0);
308 const void* reqMoreData,
309 int substreamid = 0);
379 ServerResponseBody_Attn_asynresp *
393 static XrdOucHash<SessionIDInfo>
408 bool CheckResp(
struct ServerResponseHeader *resp,
const char *method);
410 const void *reqMoreData,
411 void **answMoreDataAllocated,
414 int substreamid = 0);
435 ClientRequest *,
bool,
void**,
441 const void* reqMoreData,
443 int substreamid = 0);
XrdClientVector< XrdClientCacheInterval > XrdClientIntvList
bool DoWriteHardCheckPoint()
XrdClientUrlInfo * GetMetaUrl()
XrdOucString ParseDomainFromHostname(XrdOucString hostname)
void SetCacheRmPolicy(int RmPolicy)
void SetStreamID(kXR_unt16 sid)
kXR_unt16 GetStreamID() const
void SetRedirHandler(XrdClientAbs *rh)
time_t fREQConnectWaitTimeLimit
void SetConnected(bool conn)
XrdClientMessage * ReadPartialAnswer(XReqErrorType &, size_t &, ClientRequest *, bool, void **, EThreeStateReadHandler &)
bool IsPhyConnConnected()
bool SubmitRawDataToCache(const void *buffer, long long begin_offs, long long end_offs)
XrdSysCondVar * fWriteWaitAck
short Connect(XrdClientUrlInfo Host2Conn, XrdClientAbsUnsolMsgHandler *unsolhandler)
XrdClientAbs * fRedirHandler
long GetDataFromCache(const void *buffer, long long begin_offs, long long end_offs, bool PerfCalc, XrdClientIntvList &missingblks, long &outstandingblks)
ERemoteServerType DoHandShake(short log)
void SetRequestedDestHost(char *newh, kXR_int32 port)
UnsolRespProcResult ProcessAsynResp(XrdClientMessage *unsolmsg)
void SetCacheSize(int CacheSize)
void SetUrl(XrdClientUrlInfo thisUrl)
bool DoWriteSoftCheckPoint()
short GetMaxRedirCnt() const
XErrorCode GetOpenError() const
void CheckREQPauseState()
void SetREQDelayedConnectState(kXR_int32 wsec)
XrdClientUrlInfo GetCurrentUrl()
XrdClientUrlInfo * GetLBSUrl()
bool SubmitDataToCache(XrdClientMessage *xmsg, long long begin_offs, long long end_offs)
XrdClientUrlInfo * fMetaUrl
void GetSessionID(SessionIDInfo &sess)
void CheckREQConnectWaitState()
XrdOucString GetClientHostDomain()
void SetLogConnID(int cid)
bool CheckResp(struct ServerResponseHeader *resp, const char *method)
bool DomainMatcher(XrdOucString dom, XrdOucString domlist)
static XrdClientConnectionMgr * GetConnectionMgr()
bool CheckErrorStatus(XrdClientMessage *, short &, char *)
bool CacheWillFit(long long bytes)
void ClearLastServerError()
void SetMaxRedirCnt(short mx)
int GetOpenSockFD() const
XrdSysCondVar * fREQWaitResp
XrdOucString fRedirOpaque
XrdClientUrlInfo GetRedirUrl()
bool IsOpTimeLimitElapsed(time_t timenow)
void SetREQPauseState(kXR_int32 wsec)
XrdOucString fRedirInternalToken
struct ServerResponseBody_Error LastServerError
virtual bool GetAccessToSrv()
bool CheckHostDomain(XrdOucString hostToCheck)
XrdSecProtocol * DoAuthentication(char *plist, int plsiz)
struct ServerResponseHeader LastServerResp
XrdClientMessage * ClientServerCmd(ClientRequest *req, const void *reqMoreData, void **answMoreDataAllocated, void *answMoreData, bool HasToAlloc, int substreamid=0)
int GetParallelStreamToUse(int reqsperstream)
int GetParallelStreamCount()
void SetClientHostDomain(const char *src)
bool WaitResp(int secsmax)
XrdOucString GetDomainToMatch(XrdOucString hostname)
static XrdClientConnectionMgr * fgConnectionMgr
void UnPinCacheBlk(long long begin_offs, long long end_offs)
XrdSysCondVar * fREQConnectWait
void RemoveAllDataFromCache(bool keepwriteblocks=true)
XReqErrorType WriteToServer_Async(ClientRequest *req, const void *reqMoreData, int substreamid=0)
void RemovePlaceholdersFromCache()
virtual XReqErrorType GoToMetaManager()
void SetOpenError(XErrorCode err)
void RemoveDataFromCache(long long begin_offs, long long end_offs, bool remove_overlapped=false)
ServerResponseBody_Attn_asynresp * fREQWaitRespData
static XrdClientPhyConnection * GetPhyConn(int LogConnID)
virtual XReqErrorType GoToAnotherServer(XrdClientUrlInfo &newdest)
bool GetCacheInfo(int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness)
void SetSID(kXR_char *sid)
static void DelSessionIDRepo()
static XrdOucHash< SessionIDInfo > fSessionIDRepo
XrdClientAbsUnsolMsgHandler * fUnsolMsgHandler
ERemoteServerType fServerType
kXR_unt16 fPrimaryStreamid
static XrdSysMutex fSessionIDRMutex
void SubmitPlaceholderToCache(long long begin_offs, long long end_offs)
ESrvErrorHandlerRetval HandleServerError(XReqErrorType &, XrdClientMessage *, ClientRequest *)
virtual bool SendGenCommand(ClientRequest *req, const void *reqMoreData, void **answMoreDataAllocated, void *answMoreData, bool HasToAlloc, char *CmdName, int substreamid=0)
@ kSEHRReturnNoMsgToCaller
XrdClientUrlInfo * fLBSUrl
void CheckPort(int &port)
void SetOpTimeLimit(int delta_secs)
XrdClientReadCache * fMainReadCache
time_t fGlobalRedirLastUpdateTimestamp
static XrdOucString fgClientHostDomain
XReqErrorType GoBackToRedirector()
XReqErrorType WriteToServer(ClientRequest *req, const void *reqMoreData, short LogConnID, int substreamid=0)
ERemoteServerType GetServerType() const
void Disconnect(bool ForcePhysicalDisc)
short GetRedirCnt() const
XrdClientVector< ClientRequest > fWriteReqsToRetry
SessionIDInfo mySessionID
bool MatchStreamid(struct ServerResponseHeader *ServerResponse)
void RemovePlaceholders()
bool WillFit(long long bc)
void UnPinCacheBlk(long long begin_offs, long long end_offs)
void SetBlkRemovalPolicy(int p)
void GetInfo(int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness)
void RemoveItems(bool leavepinned=true)
void PutPlaceholder(long long begin_offs, long long end_offs)