#include <XrdProofdProtocol.h>
Inheritance diagram for XrdProofdProtocol:
Definition at line 57 of file XrdProofdProtocol.h.
XrdProofdProtocol::XrdProofdProtocol | ( | ) |
Definition at line 214 of file XrdProofdProtocol.cxx.
References fArgp, fAuthProt, fLink, fPClient, fResponses, fSecClient, and Reset().
Referenced by Match().
virtual XrdProofdProtocol::~XrdProofdProtocol | ( | ) | [inline, virtual] |
Definition at line 61 of file XrdProofdProtocol.h.
void XrdProofdProtocol::DoIt | ( | ) | [inline, virtual] |
XrdProtocol * XrdProofdProtocol::Match | ( | XrdLink * | lp | ) | [virtual] |
Implements XrdProtocol.
Definition at line 282 of file XrdProofdProtocol.cxx.
References fgProtStack, fgReadWait, fLink, fSecEntity, GetData(), XrdSecEntity::host, XrdLink::Host(), len, XrdLink::Peek(), XrdObjectQ< T >::Pop(), XrdSecEntity::prot, XrdLink::Recv(), Recycle(), XrdLink::Send(), XrdLink::setEtext(), strcpy(), XPROOFD_VERSBIN, and XrdProofdProtocol().
int XrdProofdProtocol::Process | ( | XrdLink * | lp | ) | [virtual] |
Implements XrdProtocol.
Definition at line 449 of file XrdProofdProtocol.cxx.
References XrdBuffer::buff, fArgp, fLink, fRequest, GetBuff(), GetData(), GetNewResponse(), kXP_sendmsg, kXR_ArgInvalid, kXR_ArgTooLong, Process2(), XrdProofdAux::ProofRequestTypes(), Response(), XrdProofdResponse::Send(), XrdProofdResponse::Set(), XrdLink::setEtext(), TRACEP, and XPDLOC.
void XrdProofdProtocol::Recycle | ( | XrdLink * | lp, | |
int | x, | |||
const char * | y | |||
) | [virtual] |
Implements XrdProtocol.
Definition at line 579 of file XrdProofdProtocol.cxx.
References buf, XrdOucString::c_str(), XrdProofdManager::ClientMgr(), fAdminPath, fArgp, fCID, fConnType, fgBPool, fgMgr, fgProtStack, fPClient, fPid, fProtLink, Internal(), XrdProofdClientMgr::kClientDisconnect, XrdProofdProofServMgr::kSessionRemoval, XrdProofdClientMgr::Pipe(), XrdProofdProofServMgr::Pipe(), XrdProofdPipe::Post(), XrdObjectQ< T >::Push(), XrdBuffManager::Release(), Reset(), XrdOucString::rfind(), XrdProofdManager::SessionMgr(), TRACE, TRACEP, XrdProofdClient::User(), XPDFORM, and XPDLOC.
Referenced by Match().
int XrdProofdProtocol::Stats | ( | char * | buff, | |
int | blen, | |||
int | do_sync | |||
) | [virtual] |
int XrdProofdProtocol::Configure | ( | char * | parms, | |
XrdProtocol_Config * | pi | |||
) | [static] |
Definition at line 386 of file XrdProofdProtocol.cxx.
References XrdSysPriv::ChangePerm(), XrdProofdManager::Config(), fgBPool, fgConfigDone, fgEDest, fgEUidAtStartup, fgLogger, fgMaxBuffsz, fgMgr, fgProtStack, fgReadWait, XrdSysError::logger(), XrdBuffManager::MaxSize(), pi, XrdObjectQ< T >::Set(), TRACE, TRACE_DOMAINS, TRACE_FORK, TRACE_MEM, TRACE_REQ, TRACESET, XrdOucTrace::What, XPDLOC, XPROOFD_VERSION, and XrdProofdTrace.
Referenced by XrdgetProtocol().
int XrdProofdProtocol::GetData | ( | const char * | dtype, | |
char * | buff, | |||
int | blen | |||
) |
Definition at line 683 of file XrdProofdProtocol.cxx.
References ECONNRESET, emsg(), fgReadWait, fLink, XrdLink::Recv(), XrdLink::setEtext(), TRACEP, and XPDLOC.
Referenced by Match(), Process(), SendData(), and SendDataN().
Definition at line 640 of file XrdProofdProtocol.cxx.
References bsize, XrdBuffer::bsize, fgBMutex, fgBPool, XrdBuffManager::Obtain(), XrdBuffManager::Release(), TRACE, and XPDLOC.
Referenced by Process(), XrdProofdAdmin::PutFile(), SendData(), and SendDataN().
void XrdProofdProtocol::ReleaseBuff | ( | XrdBuffer * | argp | ) | [static] |
Definition at line 674 of file XrdProofdProtocol.cxx.
References fgBMutex, fgBPool, and XrdBuffManager::Release().
Referenced by XrdProofdAdmin::PutFile(), and SendDataN().
static int XrdProofdProtocol::MaxBuffsz | ( | ) | [inline, static] |
Definition at line 75 of file XrdProofdProtocol.h.
References fgMaxBuffsz.
Referenced by XrdProofdAdmin::PutFile().
kXR_int32 XrdProofdProtocol::CID | ( | ) | const [inline] |
XrdProofdClient* XrdProofdProtocol::Client | ( | ) | const [inline] |
Definition at line 79 of file XrdProofdProtocol.h.
References fPClient.
Referenced by XrdClientID::C(), and CtrlC().
int XrdProofdProtocol::ConnType | ( | ) | const [inline] |
Definition at line 80 of file XrdProofdProtocol.h.
References fConnType.
Referenced by XrdProofdClient::Broadcast(), and XrdProofdClient::Touch().
const char* XrdProofdProtocol::TraceID | ( | ) | const [inline] |
bool XrdProofdProtocol::Internal | ( | ) | [inline] |
Definition at line 82 of file XrdProofdProtocol.h.
References fConnType, and kXPD_Internal.
Referenced by Ping(), Recycle(), SendMsg(), and TouchAdminPath().
bool XrdProofdProtocol::IsCtrlC | ( | ) | [inline] |
int XrdProofdProtocol::Pid | ( | ) | const [inline] |
void XrdProofdProtocol::ResetCtrlC | ( | ) | [inline] |
Definition at line 86 of file XrdProofdProtocol.h.
References fCtrlcMutex, and fIsCtrlC.
Referenced by ResetCtrlcGuard::~ResetCtrlcGuard().
char XrdProofdProtocol::Status | ( | ) | const [inline] |
short int XrdProofdProtocol::ProofProtocol | ( | ) | const [inline] |
Definition at line 88 of file XrdProofdProtocol.h.
References fProofProtocol.
Referenced by XrdProofdClient::Touch().
bool XrdProofdProtocol::SuperUser | ( | ) | const [inline] |
XrdProofdResponse * XrdProofdProtocol::Response | ( | kXR_unt16 | rid | ) |
Definition at line 230 of file XrdProofdProtocol.cxx.
References fResponses, TRACE, and XPDLOC.
Referenced by Process(), and XrdClientID::SetR().
XPClientRequest* XrdProofdProtocol::Request | ( | ) | const [inline] |
XrdBuffer* XrdProofdProtocol::Argp | ( | ) | const [inline] |
XrdLink* XrdProofdProtocol::Link | ( | ) | const [inline] |
Definition at line 94 of file XrdProofdProtocol.h.
References fLink.
Referenced by XrdProofdClient::Broadcast().
XrdSecProtocol* XrdProofdProtocol::AuthProt | ( | ) | const [inline] |
void XrdProofdProtocol::SetAdminPath | ( | const char * | p | ) | [inline] |
Definition at line 98 of file XrdProofdProtocol.h.
References fAdminPath, and fMutex.
Referenced by XrdProofdProofServMgr::Recover().
void XrdProofdProtocol::SetAuthEntity | ( | XrdSecEntity * | se = 0 |
) | [inline] |
Definition at line 99 of file XrdProofdProtocol.h.
References fLink, fSecClient, fSecEntity, XrdLink::ID, and XrdSecEntity::tident.
void XrdProofdProtocol::SetAuthProt | ( | XrdSecProtocol * | p | ) | [inline] |
void XrdProofdProtocol::SetClient | ( | XrdProofdClient * | c | ) | [inline] |
void XrdProofdProtocol::SetClntCapVer | ( | unsigned char | c | ) | [inline] |
void XrdProofdProtocol::SetCID | ( | kXR_int32 | cid | ) | [inline] |
void XrdProofdProtocol::SetConnType | ( | int | ct | ) | [inline] |
void XrdProofdProtocol::SetTraceID | ( | ) | [inline] |
Definition at line 106 of file XrdProofdProtocol.h.
References fLink, fTraceID, XrdLink::ID, and XPDFORM.
void XrdProofdProtocol::SetPid | ( | int | pid | ) | [inline] |
void XrdProofdProtocol::SetProofProtocol | ( | short int | pp | ) | [inline] |
void XrdProofdProtocol::SetStatus | ( | char | s | ) | [inline] |
void XrdProofdProtocol::SetSuperUser | ( | bool | su = 1 |
) | [inline] |
static XrdProofdManager* XrdProofdProtocol::Mgr | ( | ) | [inline, static] |
static int XrdProofdProtocol::EUidAtStartup | ( | ) | [inline, static] |
Definition at line 113 of file XrdProofdProtocol.h.
References fgEUidAtStartup.
Referenced by XrdProofdManager::CheckLogFileOwnership(), XrdProofdManager::Config(), XrdProofdProofServMgr::SetUserOwnerships(), and XrdProofdManager::ValidateLocalDataSetSrc().
XrdProofdResponse * XrdProofdProtocol::GetNewResponse | ( | kXR_unt16 | rid | ) | [private] |
Definition at line 245 of file XrdProofdProtocol.cxx.
References fResponses, int, TRACE, TRACING, XPDFORM, and XPDLOC.
Referenced by Process().
int XrdProofdProtocol::Interrupt | ( | ) | [private] |
Definition at line 1032 of file XrdProofdProtocol.cxx.
References XrdOucString::c_str(), fPClient, fRequest, XrdProofdClient::GetServer(), XPClientRequest::interrupt, kXP_InvalidRequest, kXP_ServerError, kXPD_interrupt, kXR_attn, kXR_InvalidRequest, XrdProofdProofServ::Match(), XrdProofdProofServ::Response(), XrdProofdResponse::Send(), XPClientInterruptRequest::sid, XrdProofdProofServ::SrvPID(), XrdProofdResponse::TraceID(), TRACEP, XPClientInterruptRequest::type, type, XPD_SETRESP, XPDFORM, and XPDLOC.
Referenced by Process2().
int XrdProofdProtocol::Ping | ( | ) | [private] |
Definition at line 1084 of file XrdProofdProtocol.cxx.
References XrdProofdProofServ::AdminPath(), buf, XrdProofdProofServMgr::CheckFrequency(), fgMgr, fPClient, fRequest, XrdProofdClient::GetServer(), Internal(), XrdProofdProofServ::IsValid(), kXP_ServerError, kXPD_ping, kXR_attn, kXR_InvalidRequest, kXR_ok, len, XPClientSendRcvRequest::opt, XPClientRequest::sendrcv, XrdProofdManager::SessionMgr(), XPClientSendRcvRequest::sid, sleep, XrdProofdProofServ::SrvPID(), stat, TRACEP, TRACING, XrdProofdAux::VerifyProcessByID(), XrdProofdProofServ::VerifyProofServ(), XPD_SETRESP, and XPDLOC.
Referenced by Process2().
int XrdProofdProtocol::Process2 | ( | ) | [private] |
Definition at line 510 of file XrdProofdProtocol.cxx.
References CtrlC(), XrdLink::FDnum(), fgMgr, fLink, fPClient, fRequest, fStatus, XPClientRequest::header, Interrupt(), kXP_ctrlc, kXP_interrupt, kXP_ping, kXP_sendmsg, kXP_touch, kXP_urgent, kXR_InvalidRequest, Ping(), XrdProofdManager::Process(), XrdProofdAux::ProofRequestTypes(), ClientRequestHdr::requestid, SendMsg(), XrdProofdClient::Touch(), TouchAdminPath(), TRACE, TRACEP, Urgent(), XPD_LOGGEDIN, XPD_SETRESP, and XPDLOC.
Referenced by Process().
void XrdProofdProtocol::Reset | ( | ) | [private] |
Definition at line 355 of file XrdProofdProtocol.cxx.
References XrdSecProtocol::Delete(), fAdminPath, fArgp, fAuthProt, fCID, fClntCapVer, fConnType, fLink, fPClient, fPid, fResponses, fSecEntity, fStatus, fSuperUser, fTraceID, and kXPD_ClientMaster.
Referenced by Recycle(), and XrdProofdProtocol().
int XrdProofdProtocol::SendData | ( | XrdProofdProofServ * | xps, | |
kXR_int32 | sid = -1 , |
|||
XrdSrvBuffer ** | buf = 0 , |
|||
bool | sb = 0 | |||
) | [private] |
Definition at line 717 of file XrdProofdProtocol.cxx.
References buf, XrdBuffer::buff, XPClientSendRcvRequest::cid, ClientRequestHdr::dlen, fgBMutex, fgBPool, fgMaxBuffsz, fRequest, GetBuff(), GetData(), XPClientRequest::header, kXPD_msgsid, kXR_attn, len, XrdBuffManager::Release(), XrdProofdProofServ::Response(), XrdProofdResponse::Send(), XrdProofdProofServ::SendData(), XPClientRequest::sendrcv, TRACEP, TRACING, XPDFORM, and XPDLOC.
Referenced by SendMsg().
int XrdProofdProtocol::SendDataN | ( | XrdProofdProofServ * | xps, | |
XrdSrvBuffer ** | buf = 0 , |
|||
bool | sb = 0 | |||
) | [private] |
Definition at line 790 of file XrdProofdProtocol.cxx.
References buf, XrdBuffer::buff, ClientRequestHdr::dlen, fgMaxBuffsz, fRequest, GetBuff(), GetData(), XPClientRequest::header, len, ReleaseBuff(), XrdProofdProofServ::SendDataN(), TRACEP, and XPDLOC.
Referenced by SendMsg().
int XrdProofdProtocol::SendMsg | ( | ) | [private] |
Definition at line 841 of file XrdProofdProtocol.cxx.
References XrdOucString::c_str(), XrdProofdProofServ::DeleteStartMsg(), ClientRequestHdr::dlen, fCID, XrdProofUI::fGroup, fPClient, fRequest, XrdProofUI::fUser, XrdProofdClient::GetServer(), XPClientRequest::header, Internal(), kXP_reconnecting, kXP_ServerError, kXPD_fb_prog, kXPD_idle, kXPD_logmsg, kXPD_querynum, kXPD_running, kXPD_setidle, kXPD_startprocess, kXR_InvalidRequest, len, XPClientSendRcvRequest::opt, PostSession(), SendData(), SendDataN(), XPClientRequest::sendrcv, XrdProofdProofServ::SetStartMsg(), XrdProofdProofServ::SetStatus(), XPClientSendRcvRequest::sid, XrdProofdProofServ::SrvType(), XrdProofdProofServ::Status(), TRACEP, TRACING, XrdProofdClient::UI(), XPD_SETRESP, XPDFORM, and XPDLOC.
Referenced by Process2().
int XrdProofdProtocol::CtrlC | ( | ) | [private] |
Definition at line 1292 of file XrdProofdProtocol.cxx.
References XrdProofdNetMgr::BroadcastCtrlC(), Client(), fCtrlcMutex, fgMgr, fIsCtrlC, kXPD_Worker, XrdProofdManager::NetMgr(), XrdProofdManager::SrvType(), TRACEP, and XPDLOC.
Referenced by Process2().
void XrdProofdProtocol::TouchAdminPath | ( | ) | [private] |
Definition at line 1261 of file XrdProofdProtocol.cxx.
References XrdOucString::c_str(), fAdminPath, Internal(), XrdOucString::length(), XrdOucString::replace(), XrdProofdAux::Touch(), TRACEP, type, XPD_SETRESPV, and XPDLOC.
Referenced by Process2().
int XrdProofdProtocol::Urgent | ( | ) | [private] |
Definition at line 965 of file XrdProofdProtocol.cxx.
References buf, fPClient, fRequest, XrdProofdClient::GetServer(), XPClientProofRequest::int1, XPClientProofRequest::int2, XPClientProofRequest::int3, kXP_InvalidRequest, kXP_ServerError, kXPD_urgent, kXR_attn, kXR_InvalidRequest, len, XrdProofdProofServ::Match(), XPClientRequest::proof, XrdProofdProofServ::Response(), XrdProofdResponse::Send(), XPClientProofRequest::sid, XrdProofdProofServ::Status(), TRACEP, type, XPD_SETRESP, and XPDLOC.
Referenced by Process2().
void XrdProofdProtocol::PostSession | ( | int | on, | |
const char * | u, | |||
const char * | g, | |||
XrdProofdProofServ * | xps | |||
) | [static, private] |
Definition at line 1220 of file XrdProofdProtocol.cxx.
References buf, fgMgr, XrdProofdPriorityMgr::kChangeStatus, XrdProofdProofServMgr::kChgSessionSt, XrdProofSched::kReschedule, kXPD_TopMaster, XrdProofSched::Pipe(), XrdProofdProofServMgr::Pipe(), XrdProofdPriorityMgr::Pipe(), XrdProofdPipe::Post(), XrdProofdManager::PriorityMgr(), XrdProofdManager::ProofSched(), XrdProofdManager::SessionMgr(), XrdProofdProofServ::SrvPID(), XrdProofdProofServ::SrvType(), TRACE, XPDFORM, and XPDLOC.
Referenced by SendMsg().
XrdBuffer* XrdProofdProtocol::fArgp [private] |
Definition at line 133 of file XrdProofdProtocol.h.
Referenced by Argp(), Process(), Recycle(), Reset(), and XrdProofdProtocol().
XrdLink* XrdProofdProtocol::fLink [private] |
Definition at line 135 of file XrdProofdProtocol.h.
Referenced by GetData(), Link(), Match(), Process(), Process2(), Reset(), SetAuthEntity(), SetTraceID(), and XrdProofdProtocol().
int XrdProofdProtocol::fPid [private] |
char XrdProofdProtocol::fStatus [private] |
Definition at line 138 of file XrdProofdProtocol.h.
Referenced by Process2(), Reset(), SetStatus(), and Status().
unsigned char XrdProofdProtocol::fClntCapVer [private] |
short int XrdProofdProtocol::fProofProtocol [private] |
Definition at line 141 of file XrdProofdProtocol.h.
Referenced by ProofProtocol(), and SetProofProtocol().
bool XrdProofdProtocol::fSuperUser [private] |
Definition at line 143 of file XrdProofdProtocol.h.
Referenced by Reset(), SetSuperUser(), and SuperUser().
XrdProofdClient* XrdProofdProtocol::fPClient [private] |
Definition at line 145 of file XrdProofdProtocol.h.
Referenced by Client(), Interrupt(), Ping(), Process2(), Recycle(), Reset(), SendMsg(), SetClient(), Urgent(), and XrdProofdProtocol().
XrdOucString XrdProofdProtocol::fAdminPath [private] |
Definition at line 146 of file XrdProofdProtocol.h.
Referenced by Recycle(), Reset(), SetAdminPath(), and TouchAdminPath().
XrdOucString XrdProofdProtocol::fTraceID [private] |
Definition at line 148 of file XrdProofdProtocol.h.
Referenced by Reset(), SetTraceID(), and TraceID().
XrdSecEntity* XrdProofdProtocol::fSecClient [private] |
Definition at line 150 of file XrdProofdProtocol.h.
Referenced by SetAuthEntity(), and XrdProofdProtocol().
XrdSecProtocol* XrdProofdProtocol::fAuthProt [private] |
Definition at line 151 of file XrdProofdProtocol.h.
Referenced by AuthProt(), Reset(), SetAuthProt(), and XrdProofdProtocol().
XrdSecEntity XrdProofdProtocol::fSecEntity [private] |
Definition at line 152 of file XrdProofdProtocol.h.
Referenced by Match(), Reset(), and SetAuthEntity().
kXR_int32 XrdProofdProtocol::fConnType [private] |
Definition at line 154 of file XrdProofdProtocol.h.
Referenced by ConnType(), Internal(), Recycle(), Reset(), and SetConnType().
kXR_int32 XrdProofdProtocol::fCID [private] |
XrdSysRecMutex XrdProofdProtocol::fMutex [private] |
XrdSysRecMutex XrdProofdProtocol::fCtrlcMutex [private] |
Definition at line 159 of file XrdProofdProtocol.h.
Referenced by CtrlC(), IsCtrlC(), and ResetCtrlC().
bool XrdProofdProtocol::fIsCtrlC [private] |
Definition at line 161 of file XrdProofdProtocol.h.
Referenced by CtrlC(), IsCtrlC(), and ResetCtrlC().
XPClientRequest XrdProofdProtocol::fRequest [private] |
Definition at line 165 of file XrdProofdProtocol.h.
Referenced by Interrupt(), Ping(), Process(), Process2(), Request(), SendData(), SendDataN(), SendMsg(), and Urgent().
std::vector<XrdProofdResponse *> XrdProofdProtocol::fResponses [private] |
Definition at line 166 of file XrdProofdProtocol.h.
Referenced by GetNewResponse(), Reset(), Response(), and XrdProofdProtocol().
bool XrdProofdProtocol::fgConfigDone [static, private] |
int XrdProofdProtocol::fgCount [static, private] |
XrdObjectQ< XrdProofdProtocol > XrdProofdProtocol::fgProtStack [static, private] |
Definition at line 173 of file XrdProofdProtocol.h.
Referenced by Configure(), Match(), and Recycle().
XrdBuffManager * XrdProofdProtocol::fgBPool [static, private] |
Definition at line 174 of file XrdProofdProtocol.h.
Referenced by Configure(), GetBuff(), Recycle(), ReleaseBuff(), and SendData().
int XrdProofdProtocol::fgMaxBuffsz [static, private] |
Definition at line 175 of file XrdProofdProtocol.h.
Referenced by Configure(), MaxBuffsz(), SendData(), and SendDataN().
XrdSysRecMutex XrdProofdProtocol::fgBMutex [static, private] |
Definition at line 176 of file XrdProofdProtocol.h.
Referenced by GetBuff(), ReleaseBuff(), and SendData().
XrdSysError XrdProofdProtocol::fgEDest [static, private] |
XrdSysLogger * XrdProofdProtocol::fgLogger [static, private] |
int XrdProofdProtocol::fgEUidAtStartup [static, private] |
int XrdProofdProtocol::fgReadWait [static, private] |
Definition at line 185 of file XrdProofdProtocol.h.
Referenced by Configure(), GetData(), and Match().
XrdProofdManager * XrdProofdProtocol::fgMgr [static, private] |
Definition at line 186 of file XrdProofdProtocol.h.
Referenced by Configure(), CtrlC(), Mgr(), Ping(), PostSession(), Process2(), and Recycle().