xrootd
|
#include <XrdXrootdAdmin.hh>
Classes | |
struct | JobTable |
struct | usr |
Public Member Functions | |
void | Login (int socknum) |
void * | Start (XrdNetSocket *AdminSock) |
XrdXrootdAdmin () | |
~XrdXrootdAdmin () | |
Static Public Member Functions | |
static void | addJob (const char *jname, XrdXrootdJob *jp) |
static int | Init (XrdSysError *erp, XrdNetSocket *asock) |
Private Member Functions | |
int | do_Abort () |
int | do_Cj () |
int | do_Cont () |
int | do_Disc () |
int | do_Login () |
int | do_Lsc () |
int | do_Lsj () |
int | do_Lsj_Xeq (XrdXrootdJob *jp) |
int | do_Lsd () |
int | do_Msg () |
int | do_Pause () |
int | do_Red () |
char * | getMsg (char *msg, int &mlen) |
int | getreqID () |
int | getTarget (const char *act, char **rest=0) |
int | sendErr (int rc, const char *act, const char *msg) |
int | sendOK (int sent) |
int | sendResp (const char *act, XActionCode anum) |
int | sendResp (const char *act, XActionCode anum, const char *msg, int mlen) |
void | Xeq () |
Private Attributes | |
XrdOucStream | Stream |
XrdLinkMatch | Target |
struct XrdXrootdAdmin::usr | usResp |
char | TraceID [24] |
char | reqID [16] |
Static Private Attributes | |
static JobTable * | JobList = 0 |
static XrdSysError * | eDest |
XrdXrootdAdmin::XrdXrootdAdmin | ( | ) | [inline] |
XrdXrootdAdmin::~XrdXrootdAdmin | ( | ) | [inline] |
void XrdXrootdAdmin::addJob | ( | const char * | jname, |
XrdXrootdJob * | jp | ||
) | [static] |
References XrdXrootdAdmin::JobTable::Jname, XrdXrootdAdmin::JobTable::Job, JobList, and XrdXrootdAdmin::JobTable::Next.
Referenced by XrdXrootdProtocol::Configure().
int XrdXrootdAdmin::do_Abort | ( | ) | [private] |
References getMsg(), getTarget(), kXR_asyncab, and sendResp().
Referenced by Xeq().
int XrdXrootdAdmin::do_Cj | ( | ) | [private] |
References XrdXrootdJob::Cancel(), XrdOucStream::GetToken(), XrdXrootdAdmin::JobTable::Jname, XrdXrootdAdmin::JobTable::Job, JobList, XrdXrootdAdmin::JobTable::Next, XrdOucStream::Put(), reqID, sendErr(), and Stream.
Referenced by Xeq().
int XrdXrootdAdmin::do_Cont | ( | ) | [private] |
References getTarget(), kXR_asyncgo, and sendResp().
Referenced by Xeq().
int XrdXrootdAdmin::do_Disc | ( | ) | [private] |
References getTarget(), XrdOucStream::GetToken(), kXR_asyncdi, sendErr(), sendResp(), and Stream.
Referenced by Xeq().
int XrdXrootdAdmin::do_Login | ( | ) | [private] |
References eDest, XrdSysError::Emsg(), XrdOucStream::GetToken(), XrdOucStream::Put(), reqID, snprintf, Stream, strlcpy(), TraceID, and XROOTD_VERSION.
Referenced by Login().
int XrdXrootdAdmin::do_Lsc | ( | ) | [private] |
References XrdLink::getName(), getTarget(), XrdOucStream::Put(), reqID, Stream, and Target.
Referenced by Xeq().
int XrdXrootdAdmin::do_Lsd | ( | ) | [private] |
References XrdXrootdProtocol::CapVer, XrdXrootdProtocol::Client, XrdLink::Client(), XrdXrootdProtocol::cumReadP, XrdXrootdProtocol::cumReads, XrdXrootdProtocol::cumWrites, XrdXrootdProtocol::Entity, XrdLink::Find(), XrdLink::getIOStats(), XrdLink::getProtocol(), getTarget(), XrdSecEntity::host, XrdXrootdProtocol::monFILE, XrdXrootdProtocol::monIO, XrdSecEntity::name, XrdXrootdProtocol::numFiles, XrdXrootdProtocol::numReadP, XrdXrootdProtocol::numReads, XrdXrootdProtocol::numWrites, XrdSecEntity::prot, XrdOucStream::Put(), reqID, XrdSecEntity::role, XrdLink::setRef(), XrdXrootdProtocol::Status, Stream, Target, XrdLink::timeCon(), XrdXrootdProtocol::totReadP, XrdSecEntity::vorg, XRD_ADMINUSER, and XrdSecPROTOIDSIZE.
Referenced by Xeq().
int XrdXrootdAdmin::do_Lsj | ( | ) | [private] |
References do_Lsj_Xeq(), XrdOucStream::GetToken(), XrdXrootdAdmin::JobTable::Jname, XrdXrootdAdmin::JobTable::Job, JobList, XrdXrootdAdmin::JobTable::Next, XrdOucStream::Put(), reqID, sendErr(), and Stream.
Referenced by Xeq().
int XrdXrootdAdmin::do_Lsj_Xeq | ( | XrdXrootdJob * | jp | ) | [private] |
References XrdXrootdJob::List(), XrdOucTList::next, XrdOucStream::Put(), Stream, XrdOucTList::text, and XrdOucTList::val.
Referenced by do_Lsj().
int XrdXrootdAdmin::do_Msg | ( | ) | [private] |
References getMsg(), getTarget(), kXR_asyncms, and sendResp().
Referenced by Xeq().
int XrdXrootdAdmin::do_Pause | ( | ) | [private] |
References getTarget(), XrdOucStream::GetToken(), kXR_asyncwt, sendErr(), sendResp(), and Stream.
Referenced by Xeq().
int XrdXrootdAdmin::do_Red | ( | ) | [private] |
References getTarget(), XrdOucStream::GetToken(), index(), kXR_asyncrd, XrdMonCtrCollector::port, sendErr(), sendResp(), Stream, and strlcpy().
Referenced by Xeq().
char * XrdXrootdAdmin::getMsg | ( | char * | msg, |
int & | mlen | ||
) | [private] |
Referenced by do_Abort(), and do_Msg().
int XrdXrootdAdmin::getreqID | ( | ) | [private] |
int XrdXrootdAdmin::getTarget | ( | const char * | act, |
char ** | rest = 0 |
||
) | [private] |
References XrdOucStream::GetToken(), sendErr(), XrdLinkMatch::Set(), Stream, and Target.
Referenced by do_Abort(), do_Cont(), do_Disc(), do_Lsc(), do_Lsd(), do_Msg(), do_Pause(), and do_Red().
int XrdXrootdAdmin::Init | ( | XrdSysError * | erp, |
XrdNetSocket * | asock | ||
) | [static] |
References eDest, XrdSysError::Emsg(), XrdSysThread::Run(), and XrdXrootdInitAdmin().
Referenced by XrdXrootdProtocol::Configure().
void XrdXrootdAdmin::Login | ( | int | socknum | ) |
References XrdOucStream::AttachIO(), do_Login(), eDest, XrdSysError::Emsg(), XrdOucStream::GetLine(), getreqID(), XrdOucStream::GetToken(), XrdOucStream::SetEroute(), Stream, TraceID, and Xeq().
Referenced by XrdXrootdLoginAdmin().
int XrdXrootdAdmin::sendErr | ( | int | rc, |
const char * | act, | ||
const char * | msg | ||
) | [private] |
References XrdOucStream::Put(), reqID, snprintf, and Stream.
Referenced by do_Cj(), do_Disc(), do_Lsj(), do_Pause(), do_Red(), getreqID(), getTarget(), and Xeq().
int XrdXrootdAdmin::sendOK | ( | int | sent | ) | [private] |
References XrdOucStream::Put(), reqID, snprintf, and Stream.
Referenced by sendResp().
int XrdXrootdAdmin::sendResp | ( | const char * | act, |
XActionCode | anum, | ||
const char * | msg, | ||
int | mlen | ||
) | [private] |
References XrdXrootdAdmin::usr::act, XrdLink::Find(), iovec::iov_base, iovec::iov_len, XrdXrootdAdmin::usr::len, sendOK(), Target, TRACE, and usResp.
int XrdXrootdAdmin::sendResp | ( | const char * | act, |
XActionCode | anum | ||
) | [private] |
References XrdXrootdAdmin::usr::act, XrdLink::Find(), XrdLink::ID, XrdXrootdAdmin::usr::len, XrdLink::Send(), sendOK(), Target, TRACE, and usResp.
Referenced by do_Abort(), do_Cont(), do_Disc(), do_Msg(), do_Pause(), and do_Red().
void * XrdXrootdAdmin::Start | ( | XrdNetSocket * | AdminSock | ) |
References XrdNetSocket::Accept(), close, eDest, XrdSysError::Emsg(), XrdSysThread::Run(), and XrdXrootdLoginAdmin().
Referenced by XrdXrootdInitAdmin().
void XrdXrootdAdmin::Xeq | ( | ) | [private] |
References DEBUG, do_Abort(), do_Cj(), do_Cont(), do_Disc(), do_Lsc(), do_Lsd(), do_Lsj(), do_Msg(), do_Pause(), do_Red(), eDest, XrdSysError::Emsg(), XrdOucStream::GetLine(), getreqID(), XrdOucStream::GetToken(), sendErr(), Stream, TRACE, and TraceID.
Referenced by Login().
XrdSysError * XrdXrootdAdmin::eDest [static, private] |
Referenced by do_Login(), Init(), Login(), Start(), and Xeq().
XrdXrootdAdmin::JobTable * XrdXrootdAdmin::JobList = 0 [static, private] |
char XrdXrootdAdmin::reqID[16] [private] |
Referenced by do_Cj(), do_Login(), do_Lsc(), do_Lsd(), do_Lsj(), getreqID(), sendErr(), and sendOK().
XrdOucStream XrdXrootdAdmin::Stream [private] |
Referenced by do_Cj(), do_Disc(), do_Login(), do_Lsc(), do_Lsd(), do_Lsj(), do_Lsj_Xeq(), do_Pause(), do_Red(), getreqID(), getTarget(), Login(), sendErr(), sendOK(), and Xeq().
XrdLinkMatch XrdXrootdAdmin::Target [private] |
Referenced by do_Lsc(), do_Lsd(), getTarget(), and sendResp().
char XrdXrootdAdmin::TraceID[24] [private] |
Referenced by do_Login(), Login(), and Xeq().
struct XrdXrootdAdmin::usr XrdXrootdAdmin::usResp [private] |
Referenced by sendResp().