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