Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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.
 
XrdLink * Link () const
 
int LinkSend (const char *buff, int len, XrdOucString &e)
 Method actually sending the buffer(s) over the link.
 
int LinkSend (const struct iovec *iov, int iocnt, int len, XrdOucString &e)
 Method actually sending the buffer(s) over the link.
 
void Reset ()
 
int Send (const char *msg)
 Auxilliary Send method.
 
int Send (void *data, int dlen)
 Auxilliary Send method.
 
int Send (void)
 Auxilliary Send method.
 
int Send (XErrorCode ecode, const char *msg)
 Auxilliary Send method.
 
int Send (XPErrorCode ecode, const char *msg)
 Auxilliary Send method.
 
int Send (XResponseType rcode)
 Auxilliary Send method.
 
int Send (XResponseType rcode, int info, char *data=0)
 Auxilliary Send method.
 
int Send (XResponseType rcode, void *data, int dlen)
 Auxilliary Send method.
 
int Send (XResponseType rcode, XProofActionCode acode, int info)
 Auxilliary Send method.
 
int Send (XResponseType rcode, XProofActionCode acode, kXR_int32 sid, void *data, int dlen)
 Auxilliary Send method.
 
int Send (XResponseType rcode, XProofActionCode acode, void *data, int dlen)
 Auxilliary Send method.
 
int SendI (kXR_int32 int1, kXR_int16 int2, kXR_int16 int3, void *data=0, int dlen=0)
 Auxilliary Send method.
 
int SendI (kXR_int32 int1, kXR_int32 int2, void *data=0, int dlen=0)
 Auxilliary Send method.
 
int SendI (kXR_int32 int1, void *data=0, int dlen=0)
 Auxilliary Send method.
 
void Set (ServerResponseHeader *resp)
 Fill the stream id.
 
void Set (unsigned char *stream)
 Auxilliary Set method.
 
void Set (unsigned short streamid)
 Auxilliary Set method.
 
void Set (XrdLink *l)
 Set the link to be used by this response.
 
void SetTag (const char *tag)
 
void SetTraceID ()
 Auxilliary set method.
 
void SetTrsid ()
 Auxilliary Set method.
 
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 ( )
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.

  • proof/proofd/inc/XrdProofdResponse.h
  • proof/proofd/src/XrdProofdResponse.cxx