![]() |
XRootD
|
#include <XrdSsiTaskReal.hh>
Classes | |
struct | dlQ |
Public Types | |
enum | respType { isBad =0 , isAlert , isData , isStream } |
enum | TaskStat { isPend =0 , isWrite , isSync , isReady , isDone , isDead } |
![]() | |
enum | StreamType { isActive = 0 , isPassive } |
Public Member Functions | |
XrdSsiTaskReal (XrdSsiSessReal *sP) | |
~XrdSsiTaskReal () | |
void | Detach (bool force=false) |
void | Finished (XrdSsiRequest &rqstR, const XrdSsiRespInfo &rInfo, bool cancel=false) |
int | ID () |
void * | Implementation () |
void | Init (XrdSsiRequest *rP, unsigned short tmo=0) |
bool | Kill () |
void | PostError () |
const char * | RequestID () |
void | SchedError (XrdSsiErrInfo *eInfo=0) |
void | SendError () |
bool | SendRequest (const char *node) |
bool | SetBuff (XrdSsiErrInfo &eRef, char *buff, int blen) |
int | SetBuff (XrdSsiErrInfo &eRef, char *buff, int blen, bool &last) |
void | SetTaskID (uint32_t tid, uint32_t sid) |
int | XeqEvent (XrdCl::XRootDStatus *status, XrdCl::AnyObject **respP) |
void | XeqEvFin () |
![]() | |
XrdSsiEvent () | |
~XrdSsiEvent () | |
void | AddEvent (XrdCl::XRootDStatus *st, XrdCl::AnyObject *resp) |
void | ClrEvent () |
virtual void | DoIt () |
virtual void | HandleResponse (XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) |
![]() | |
XrdJob (const char *desc="") | |
virtual | ~XrdJob () |
![]() | |
virtual | ~ResponseHandler () |
virtual void | HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList) |
![]() | |
void | BindRequest (XrdSsiRequest &rqstR) |
bool | UnBindRequest () |
![]() | |
XrdSsiStream (StreamType stype) | |
virtual | ~XrdSsiStream () |
virtual Buffer * | GetBuff (XrdSsiErrInfo &eRef, int &dlen, bool &last) |
StreamType | Type () |
Public Attributes | |
dlQ | attList |
![]() | |
const char * | Comment |
XrdJob * | NextJob |
Additional Inherited Members | |
![]() | |
static ResponseHandler * | Wrap (std::function< void(XRootDStatus &, AnyObject &)> func) |
static ResponseHandler * | Wrap (std::function< void(XRootDStatus *, AnyObject *)> func) |
![]() | |
static const int | MaxDirectXfr = 2097152 |
![]() | |
enum | Status { wasPosted =0 , notPosted , notActive } |
![]() | |
XrdSsiResponder () | |
virtual | ~XrdSsiResponder () |
void | Alert (XrdSsiRespInfoMsg &aMsg) |
char * | GetRequest (int &dlen) |
void | ReleaseRequestBuffer () |
Status | SetErrResponse (const char *eMsg, int eNum) |
Status | SetMetadata (const char *buff, int blen) |
Status | SetNilResponse () |
Status | SetResponse (const char *buff, int blen) |
Status | SetResponse (long long fsize, int fdnum) |
Status | SetResponse (XrdSsiStream *strmP) |
![]() | |
char | tident [24] |
![]() | |
const StreamType | SType |
![]() | |
static const int | MaxMetaDataSZ = 2097152 |
2MB metadata limit More... | |
Definition at line 43 of file XrdSsiTaskReal.hh.
struct XrdSsiTaskReal::dlQ |
Definition at line 103 of file XrdSsiTaskReal.hh.
Class Members | ||
---|---|---|
XrdSsiTaskReal * | next | |
XrdSsiTaskReal * | prev |
Enumerator | |
---|---|
isPend | |
isWrite | |
isSync | |
isReady | |
isDone | |
isDead |
Definition at line 48 of file XrdSsiTaskReal.hh.
|
inline |
Definition at line 95 of file XrdSsiTaskReal.hh.
|
inline |
Definition at line 101 of file XrdSsiTaskReal.hh.
void XrdSsiTaskReal::Detach | ( | bool | force = false | ) |
Definition at line 166 of file XrdSsiTaskReal.cc.
|
virtual |
Notify the responder that a request either completed or was canceled. This allows the responder to release any resources given to the request object (e.g. data response buffer or a stream). This method is invoked when XrdSsiRequest::Finished() is called by the client.
rqstR | reference to the object describing the request. |
rInfo | reference to the object describing the response. |
cancel | False -> the request/response interaction completed. True -> the request/response interaction aborted because of an error or the client requested that the request be canceled. |
Implements XrdSsiResponder.
Definition at line 178 of file XrdSsiTaskReal.cc.
References DEBUG, EPNAME, and XrdSsiRRAgent::ResetResponder().
|
inline |
Definition at line 61 of file XrdSsiTaskReal.hh.
|
inline |
Definition at line 56 of file XrdSsiTaskReal.hh.
|
inline |
Definition at line 64 of file XrdSsiTaskReal.hh.
References attList, isPend, XrdSsiTaskReal::dlQ::next, and XrdSsiTaskReal::dlQ::prev.
bool XrdSsiTaskReal::Kill | ( | ) |
Definition at line 276 of file XrdSsiTaskReal.cc.
References XrdSsiRRInfo::Can, XrdSsiRRInfo::Cmd(), DEBUG, XrdSysError::Emsg(), EPNAME, XrdSsiRRInfo::Id(), XrdSsiRRInfo::Info(), XrdSsi::Log, and XrdSysSemaphore::Wait().
void XrdSsiTaskReal::PostError | ( | ) |
|
inline |
Definition at line 74 of file XrdSsiTaskReal.hh.
References XrdSsiRequest::GetRequestID().
void XrdSsiTaskReal::SchedError | ( | XrdSsiErrInfo * | eInfo = 0 | ) |
Definition at line 372 of file XrdSsiTaskReal.cc.
References XrdSsi::schedP, and XrdScheduler::Schedule().
Referenced by XrdSsiSessReal::XeqEvent().
void XrdSsiTaskReal::SendError | ( | ) |
Definition at line 389 of file XrdSsiTaskReal.cc.
bool XrdSsiTaskReal::SendRequest | ( | const char * | node | ) |
Definition at line 434 of file XrdSsiTaskReal.cc.
References XrdSysError::Emsg(), XrdSsiRequest::GetRequest(), XrdSsiRRInfo::Id(), XrdSsiRRInfo::Info(), XrdSsi::Log, XrdSsiRRAgent::Request(), XrdSsiUtils::SetErr(), XrdSsiRRAgent::SetNode(), and XrdSsiRRInfo::Size().
Referenced by XrdSsiSessReal::Run(), and XrdSsiSessReal::XeqEvent().
|
virtual |
Asynchronously obtain data from a passive stream (client-side only).
eRef | reference to where error information is to be placed for encountered before during the stream initiation. When data is ready for processing, the ProcessResponseData() callback is called on the request associated with this stream. Also see XrdSsiRequest::GetResponseData() helper method. |
buff | pointer to the buffer to receive the data. The buffer must remain valid until ProcessResponse() is called. |
blen | the length of the buffer (i.e. maximum that can be returned). |
Reimplemented from XrdSsiStream.
Definition at line 549 of file XrdSsiTaskReal.cc.
References DEBUG, EPNAME, XrdSsiRRInfo::Id(), XrdSsiRRInfo::Info(), XrdCl::Status::IsOK(), XrdSsiErrInfo::Set(), XrdSsiUtils::SetErr(), and XrdCl::XRootDStatus::ToStr().
|
virtual |
Synchronously obtain data from a passive stream (client- or server-side).
eRef | The object to receive any error description. |
buff | pointer to the buffer to receive the data. request object is notified that the operation completed. |
blen | the length of the buffer (i.e. maximum that can be returned). |
last | input: should be set to false. output: if true it indicates that no more data remains to be returned either for this call or on the next call. |
Reimplemented from XrdSsiStream.
Definition at line 508 of file XrdSsiTaskReal.cc.
References DEBUG, EPNAME, XrdSsiRRInfo::Id(), XrdSsiRRInfo::Info(), XrdCl::Status::IsOK(), XrdSsiErrInfo::Set(), XrdSsiUtils::SetErr(), and XrdCl::XRootDStatus::ToStr().
|
inline |
|
virtual |
Implements XrdSsiEvent.
Definition at line 604 of file XrdSsiTaskReal.cc.
References XrdSsiRRAgent::Alert(), DEBUG, XrdSysError::Emsg(), EPNAME, XrdSsiRRAgent::ErrInfoRef(), XrdCl::AnyObject::Get(), XrdCl::Status::IsOK(), XrdCl::ChunkInfo::length, XrdSsi::Log, XrdSsiMutexMon::Reset(), XrdSsiErrInfo::Set(), and XrdSsiUtils::SetErr().
|
virtual |
dlQ XrdSsiTaskReal::attList |
Definition at line 104 of file XrdSsiTaskReal.hh.
Referenced by XrdSsiSessReal::~XrdSsiSessReal(), Init(), XrdSsiSessReal::TaskFinished(), and XrdSsiSessReal::XeqEvent().