XrdSsiTaskReal Class Reference

#include <XrdSsiTaskReal.hh>

Inheritance diagram for XrdSsiTaskReal:
Inheritance graph
[legend]
Collaboration diagram for XrdSsiTaskReal:
Collaboration graph
[legend]

List of all members.

Classes

struct  dlQ

Public Types

enum  TaskStat {
  isPend = 0, isWrite, isSync, isReady,
  isDone, isDead
}
enum  respType { isBad = 0, isAlert, isData, isStream }

Public Member Functions

void Detach (bool force=false)
void Finished (XrdSsiRequest &rqstR, const XrdSsiRespInfo &rInfo, bool cancel=false)
void * Implementation ()
bool Kill ()
int ID ()
void Init (XrdSsiRequest *rP, unsigned short tmo=0)
void PostError ()
void Redrive ()
const char * RequestID ()
void SchedError (XrdSsiErrInfo *eInfo=0)
void SendError ()
bool SendRequest (const char *node)
int SetBuff (XrdSsiErrInfo &eRef, char *buff, int blen, bool &last)
bool SetBuff (XrdSsiErrInfo &eRef, char *buff, int blen)
void SetTaskID (uint32_t tid, uint32_t sid)
bool XeqEvent (XrdCl::XRootDStatus *status, XrdCl::AnyObject **respP)
 XrdSsiTaskReal (XrdSsiSessReal *sP)
 ~XrdSsiTaskReal ()

Public Attributes

dlQ attList

Private Member Functions

bool Ask4Resp ()
respType GetResp (XrdCl::AnyObject **respP, char *&dbuf, int &dlen)
bool RespErr (XrdCl::XRootDStatus *status)
bool XeqEnd (bool getLock)

Private Attributes

XrdSsiErrInfo errInfo
XrdSsiSessRealsessP
XrdSsiRequestrqstP
XrdCl::AnyObjectmdResp
XrdSysSemaphorewPost
char * dataBuff
int dataRlen
TaskStat tStat
uint32_t tskID
unsigned short tmOut
bool mhPend
bool defer

Member Enumeration Documentation

Enumerator:
isBad 
isAlert 
isData 
isStream 
Enumerator:
isPend 
isWrite 
isSync 
isReady 
isDone 
isDead 

Constructor & Destructor Documentation

XrdSsiTaskReal::XrdSsiTaskReal ( XrdSsiSessReal sP  )  [inline]
XrdSsiTaskReal::~XrdSsiTaskReal (  )  [inline]

References mdResp.


Member Function Documentation

bool XrdSsiTaskReal::Ask4Resp (  )  [private]
void XrdSsiTaskReal::Detach ( bool  force = false  ) 
void XrdSsiTaskReal::Finished ( XrdSsiRequest rqstR,
const XrdSsiRespInfo rInfo,
bool  cancel = false 
) [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.

Parameters:
rqstP 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.

respType XrdSsiTaskReal::GetResp ( XrdCl::AnyObject **  respP,
char *&  dbuf,
int &  dlen 
) [private]
int XrdSsiTaskReal::ID (  )  [inline]

References tskID.

void* XrdSsiTaskReal::Implementation (  )  [inline]
void XrdSsiTaskReal::Init ( XrdSsiRequest rP,
unsigned short  tmo = 0 
) [inline]
bool XrdSsiTaskReal::Kill (  ) 
void XrdSsiTaskReal::PostError (  ) 
void XrdSsiTaskReal::Redrive (  )  [virtual]

Reimplemented from XrdSsiPacer.

const char* XrdSsiTaskReal::RequestID (  )  [inline, virtual]

Reimplemented from XrdSsiPacer.

References XrdSsiRequest::GetRequestID(), and rqstP.

bool XrdSsiTaskReal::RespErr ( XrdCl::XRootDStatus status  )  [private]
void XrdSsiTaskReal::SchedError ( XrdSsiErrInfo eInfo = 0  ) 
void XrdSsiTaskReal::SendError (  ) 
bool XrdSsiTaskReal::SendRequest ( const char *  node  ) 
bool XrdSsiTaskReal::SetBuff ( XrdSsiErrInfo eRef,
char *  buff,
int  blen 
) [virtual]

Asynchronously obtain data from a passive stream (client-side only).

Parameters:
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).
Returns:
true The stream has been successfully scheduled to return the data.
false The stream could not be scheduled; eRef holds the reason.

Reimplemented from XrdSsiStream.

int XrdSsiTaskReal::SetBuff ( XrdSsiErrInfo eRef,
char *  buff,
int  blen,
bool &  last 
) [virtual]

Synchronously obtain data from a passive stream (client- or server-side).

Parameters:
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.
Returns:
>0 The number of bytes placed in buff.
=0 No more data remains and the stream becomes invalid.
<0 Fatal error occurred; eRef holds the reason.

Reimplemented from XrdSsiStream.

void XrdSsiTaskReal::SetTaskID ( uint32_t  tid,
uint32_t  sid 
) [inline]

References XrdSsiEvent::tident, and tskID.

bool XrdSsiTaskReal::XeqEnd ( bool  getLock  )  [private]
bool XrdSsiTaskReal::XeqEvent ( XrdCl::XRootDStatus status,
XrdCl::AnyObject **  respP 
) [virtual]

Implements XrdSsiEvent.


Member Data Documentation

Referenced by Init().

char* XrdSsiTaskReal::dataBuff [private]
int XrdSsiTaskReal::dataRlen [private]
bool XrdSsiTaskReal::defer [private]

Referenced by Init().

Referenced by Init(), and ~XrdSsiTaskReal().

bool XrdSsiTaskReal::mhPend [private]

Referenced by Init().

Referenced by Init(), and RequestID().

unsigned short XrdSsiTaskReal::tmOut [private]

Referenced by Init().

uint32_t XrdSsiTaskReal::tskID [private]

Referenced by ID(), and SetTaskID().

Referenced by Init().

Referenced by Init().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 11 Jun 2020 for xrootd by  doxygen 1.6.1