Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
XrdProofdResponse Class Reference

Definition at line 36 of file XrdProofdResponse.h.

Public Member Functions

 XrdProofdResponse ()
 
virtual ~XrdProofdResponse ()
 
void GetSID (unsigned short &sid)
 Get stream ID (to be able to restore it later. More...
 
XrdLink * Link () const
 
int LinkSend (const char *buff, int len, XrdOucString &e)
 Method actually sending the buffer(s) over the link. More...
 
int LinkSend (const struct iovec *iov, int iocnt, int len, XrdOucString &e)
 Method actually sending the buffer(s) over the link. More...
 
void Reset ()
 
int Send (const char *msg)
 Auxilliary Send method. More...
 
int Send (void *data, int dlen)
 Auxilliary Send method. More...
 
int Send (void)
 Auxilliary Send method. More...
 
int Send (XErrorCode ecode, const char *msg)
 Auxilliary Send method. More...
 
int Send (XPErrorCode ecode, const char *msg)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode, int info, char *data=0)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode, void *data, int dlen)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode, XProofActionCode acode, int info)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode, XProofActionCode acode, kXR_int32 sid, void *data, int dlen)
 Auxilliary Send method. More...
 
int Send (XResponseType rcode, XProofActionCode acode, void *data, int dlen)
 Auxilliary Send method. More...
 
int SendI (kXR_int32 int1, kXR_int16 int2, kXR_int16 int3, void *data=0, int dlen=0)
 Auxilliary Send method. More...
 
int SendI (kXR_int32 int1, kXR_int32 int2, void *data=0, int dlen=0)
 Auxilliary Send method. More...
 
int SendI (kXR_int32 int1, void *data=0, int dlen=0)
 Auxilliary Send method. More...
 
void Set (ServerResponseHeader *resp)
 Fill the stream id. More...
 
void Set (unsigned char *stream)
 Auxilliary Set method. More...
 
void Set (unsigned short streamid)
 Auxilliary Set method. More...
 
void Set (XrdLink *l)
 Set the link to be used by this response. More...
 
void SetTag (const char *tag)
 
void SetTraceID ()
 Auxilliary set method. More...
 
void SetTrsid ()
 Auxilliary Set method. More...
 
const char * STRID ()
 
const char * TraceID () const
 

Public Attributes

XrdSysRecMutex fMutex
 

Private Attributes

XrdLink * fLink
 
ServerResponseHeader fResp
 
unsigned short fSID
 
XrdOucString fTag
 
XrdOucString fTraceID
 
char fTrsid [8]
 

#include <XrdProofdResponse.h>

Constructor & Destructor Documentation

◆ XrdProofdResponse()

XrdProofdResponse::XrdProofdResponse ( )
inline

Definition at line 39 of file XrdProofdResponse.h.

◆ ~XrdProofdResponse()

virtual XrdProofdResponse::~XrdProofdResponse ( )
inlinevirtual

Definition at line 40 of file XrdProofdResponse.h.

Member Function Documentation

◆ GetSID()

void XrdProofdResponse::GetSID ( unsigned short sid)

Get stream ID (to be able to restore it later.

Definition at line 674 of file XrdProofdResponse.cxx.

◆ Link()

XrdLink * XrdProofdResponse::Link ( ) const
inline

Definition at line 45 of file XrdProofdResponse.h.

◆ LinkSend() [1/2]

int XrdProofdResponse::LinkSend ( const char *  buff,
int  len,
XrdOucString &  emsg 
)

Method actually sending the buffer(s) over the link.

The link is closed in case of error, because we cannot use it anymore and the counter part needs to reconnect. Return 0 on success, -1 on failure.

Definition at line 579 of file XrdProofdResponse.cxx.

◆ LinkSend() [2/2]

int XrdProofdResponse::LinkSend ( const struct iovec *  iov,
int  iocnt,
int  len,
XrdOucString &  emsg 
)

Method actually sending the buffer(s) over the link.

Functionality a la 'writev' is simulated by segmenting the sending. This allows to avoid a recovery problem with 'writev'. Return 0 on success, -1 on failure.

Definition at line 612 of file XrdProofdResponse.cxx.

◆ Reset()

void XrdProofdResponse::Reset ( void  )
inline

Definition at line 80 of file XrdProofdResponse.h.

◆ Send() [1/11]

int XrdProofdResponse::Send ( const char *  msg)

Auxilliary Send method.

Definition at line 119 of file XrdProofdResponse.cxx.

◆ Send() [2/11]

int XrdProofdResponse::Send ( void data,
int  dlen 
)

Auxilliary Send method.

Definition at line 482 of file XrdProofdResponse.cxx.

◆ Send() [3/11]

int XrdProofdResponse::Send ( void  )

Auxilliary Send method.

Definition at line 74 of file XrdProofdResponse.cxx.

◆ Send() [4/11]

int XrdProofdResponse::Send ( XErrorCode  ecode,
const char *  msg 
)

Auxilliary Send method.

Definition at line 510 of file XrdProofdResponse.cxx.

◆ Send() [5/11]

int XrdProofdResponse::Send ( XPErrorCode  ecode,
const char *  msg 
)

Auxilliary Send method.

Definition at line 543 of file XrdProofdResponse.cxx.

◆ Send() [6/11]

int XrdProofdResponse::Send ( XResponseType  rcode)

Auxilliary Send method.

Definition at line 96 of file XrdProofdResponse.cxx.

◆ Send() [7/11]

int XrdProofdResponse::Send ( XResponseType  rcode,
int  info,
char *  data = 0 
)

Auxilliary Send method.

Definition at line 175 of file XrdProofdResponse.cxx.

◆ Send() [8/11]

int XrdProofdResponse::Send ( XResponseType  rcode,
void data,
int  dlen 
)

Auxilliary Send method.

Definition at line 147 of file XrdProofdResponse.cxx.

◆ Send() [9/11]

int XrdProofdResponse::Send ( XResponseType  rcode,
XProofActionCode  acode,
int  info 
)

Auxilliary Send method.

Definition at line 308 of file XrdProofdResponse.cxx.

◆ Send() [10/11]

int XrdProofdResponse::Send ( XResponseType  rcode,
XProofActionCode  acode,
kXR_int32  sid,
void data,
int  dlen 
)

Auxilliary Send method.

Definition at line 260 of file XrdProofdResponse.cxx.

◆ Send() [11/11]

int XrdProofdResponse::Send ( XResponseType  rcode,
XProofActionCode  acode,
void data,
int  dlen 
)

Auxilliary Send method.

Definition at line 217 of file XrdProofdResponse.cxx.

◆ SendI() [1/3]

int XrdProofdResponse::SendI ( kXR_int32  int1,
kXR_int16  int2,
kXR_int16  int3,
void data = 0,
int  dlen = 0 
)

Auxilliary Send method.

Definition at line 343 of file XrdProofdResponse.cxx.

◆ SendI() [2/3]

int XrdProofdResponse::SendI ( kXR_int32  int1,
kXR_int32  int2,
void data = 0,
int  dlen = 0 
)

Auxilliary Send method.

Definition at line 393 of file XrdProofdResponse.cxx.

◆ SendI() [3/3]

int XrdProofdResponse::SendI ( kXR_int32  int1,
void data = 0,
int  dlen = 0 
)

Auxilliary Send method.

Definition at line 439 of file XrdProofdResponse.cxx.

◆ Set() [1/4]

void XrdProofdResponse::Set ( ServerResponseHeader *  resp)

Fill the stream id.

Definition at line 683 of file XrdProofdResponse.cxx.

◆ Set() [2/4]

void XrdProofdResponse::Set ( unsigned char *  stream)

Auxilliary Set method.

Definition at line 644 of file XrdProofdResponse.cxx.

◆ Set() [3/4]

void XrdProofdResponse::Set ( unsigned short  streamid)

Auxilliary Set method.

Definition at line 657 of file XrdProofdResponse.cxx.

◆ Set() [4/4]

void XrdProofdResponse::Set ( XrdLink *  l)

Set the link to be used by this response.

Definition at line 695 of file XrdProofdResponse.cxx.

◆ SetTag()

void XrdProofdResponse::SetTag ( const char *  tag)
inline

Definition at line 71 of file XrdProofdResponse.h.

◆ SetTraceID()

void XrdProofdResponse::SetTraceID ( )

Auxilliary set method.

Definition at line 706 of file XrdProofdResponse.cxx.

◆ SetTrsid()

void XrdProofdResponse::SetTrsid ( )

Auxilliary Set method.

Definition at line 728 of file XrdProofdResponse.cxx.

◆ STRID()

const char * XrdProofdResponse::STRID ( )
inline

Definition at line 42 of file XrdProofdResponse.h.

◆ TraceID()

const char * XrdProofdResponse::TraceID ( ) const
inline

Definition at line 43 of file XrdProofdResponse.h.

Member Data Documentation

◆ fLink

XrdLink* XrdProofdResponse::fLink
private

Definition at line 91 of file XrdProofdResponse.h.

◆ fMutex

XrdSysRecMutex XrdProofdResponse::fMutex

Definition at line 86 of file XrdProofdResponse.h.

◆ fResp

ServerResponseHeader XrdProofdResponse::fResp
private

Definition at line 90 of file XrdProofdResponse.h.

◆ fSID

unsigned short XrdProofdResponse::fSID
private

Definition at line 94 of file XrdProofdResponse.h.

◆ fTag

XrdOucString XrdProofdResponse::fTag
private

Definition at line 97 of file XrdProofdResponse.h.

◆ fTraceID

XrdOucString XrdProofdResponse::fTraceID
private

Definition at line 96 of file XrdProofdResponse.h.

◆ fTrsid

char XrdProofdResponse::fTrsid[8]
private

Definition at line 92 of file XrdProofdResponse.h.


The documentation for this class was generated from the following files: