xrootd
|
#include <XrdCnsLogClient.hh>
Public Member Functions | |
int | Activate (XrdCnsLogFile *basefile) |
int | Init () |
int | Run (int Always=1) |
int | Start () |
XrdCnsLogClient (XrdOucTList *rP, XrdCnsLogClient *pcP) | |
~XrdCnsLogClient () | |
Private Member Functions | |
XrdClientAdmin * | admConnect (XrdClientAdmin *adminP) |
int | Archive (XrdCnsLogFile *lfP) |
int | do_Create (XrdCnsLogRec *lrP, const char *lfn=0) |
int | do_Mkdir (XrdCnsLogRec *lrP) |
int | do_Mv (XrdCnsLogRec *lrP) |
int | do_Rm (XrdCnsLogRec *lrP) |
int | do_Rmdir (XrdCnsLogRec *lrP) |
int | do_Trunc (XrdCnsLogRec *lrP, const char *lfn=0) |
char | getMount (char *Lfn, char *Pfn, XrdCnsXref &Mount) |
int | Inventory (XrdCnsLogFile *lfp, const char *dPath) |
int | Manifest () |
int | mapError (int rc) |
int | xrdEmsg (const char *Opname, const char *theFN, XrdClientAdmin *aP) |
int | xrdEmsg (const char *Opname, const char *theFN) |
int | xrdEmsg (const char *Opname, const char *theFN, XrdClient *fP) |
Private Attributes | |
XrdSysMutex | lfMutex |
XrdSysSemaphore | lfSem |
XrdCnsLogClient * | Next |
XrdClientAdmin * | Admin |
XrdCnsLogFile * | logFirst |
XrdCnsLogFile * | logLast |
int | pfxNF |
int | sfxFN |
int | arkOnly |
char * | admURL |
char * | urlHost |
char | arkURL [MAXPATHLEN+512] |
char * | arkPath |
char * | arkFN |
char | crtURL [MAXPATHLEN+512] |
char * | crtFN |
char | logDir [MAXPATHLEN+1] |
char * | logFN |
XrdCnsLogClient::XrdCnsLogClient | ( | XrdOucTList * | rP, |
XrdCnsLogClient * | pcP | ||
) |
References Admin, admURL, arkFN, arkOnly, arkPath, arkURL, XrdCms::Config, crtFN, crtURL, XrdSysError::Emsg(), XrdNetDNS::getHostName(), logDir, logFirst, logFN, logLast, XrdCns::MLog, Next, XrdCnsConfig::optNoCns, pfxNF, sfxFN, XrdOucTList::text, urlHost, and XrdOucTList::val.
XrdCnsLogClient::~XrdCnsLogClient | ( | ) | [inline] |
int XrdCnsLogClient::Activate | ( | XrdCnsLogFile * | basefile | ) |
References Activate(), lfMutex, lfSem, XrdSysMutex::Lock(), logDir, logFirst, logFN, logLast, Next, XrdCnsLogFile::Next, pfxNF, XrdSysSemaphore::Post(), sfxFN, XrdCnsLogFile::Subscribe(), and XrdSysMutex::UnLock().
Referenced by Activate().
XrdClientAdmin * XrdCnsLogClient::admConnect | ( | XrdClientAdmin * | adminP | ) | [private] |
References admURL, XrdClientAdmin::Connect(), DEBUG, XrdSysMutex::Lock(), XrdSysTimer::Snooze(), TRACE, XrdSysMutex::UnLock(), urlHost, and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::Archive | ( | XrdCnsLogFile * | lfP | ) | [private] |
References Admin, arkFN, arkPath, arkURL, XrdSysError::Emsg(), XrdCnsLogFile::FName(), XrdCnsLogFile::getLog(), kXR_delete, kXR_gr, kXR_gw, kXR_mkpath, kXR_ok, kXR_open_updt, kXR_or, kXR_ur, kXR_uw, XrdClientAbs::LastServerResp(), XrdCns::MLog, XrdClientAdmin::Mv(), XrdClient::Open(), rindex, XrdClientAdmin::Rm(), ServerResponseHeader::status, XrdClient::Write(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Create | ( | XrdCnsLogRec * | lrP, |
const char * | lfn = 0 |
||
) | [private] |
References XrdCms::Config, crtFN, crtURL, kXR_delete, kXR_gr, kXR_gw, kXR_mkpath, kXR_ok, kXR_open_updt, kXR_or, kXR_ur, kXR_uw, XrdClientAbs::LastServerResp(), XrdCnsLogRec::Lfn1(), XrdCnsLogRec::Mode(), XrdClient::Open(), S_IRGRP, S_IROTH, S_IWGRP, XrdCnsLogRec::Space(), ServerResponseHeader::status, and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Mkdir | ( | XrdCnsLogRec * | lrP | ) | [private] |
References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Mkdir(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Mv | ( | XrdCnsLogRec * | lrP | ) | [private] |
References Admin, XrdCnsLogRec::Lfn1(), XrdCnsLogRec::Lfn2(), XrdClientAdmin::Mv(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Rm | ( | XrdCnsLogRec * | lrP | ) | [private] |
References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Rm(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Rmdir | ( | XrdCnsLogRec * | lrP | ) | [private] |
References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Rmdir(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::do_Trunc | ( | XrdCnsLogRec * | lrP, |
const char * | lfn = 0 |
||
) | [private] |
References Admin, XrdCnsLogRec::Lfn1(), XrdCnsLogRec::Size(), XrdClientAdmin::Truncate(), and xrdEmsg().
Referenced by Run().
char XrdCnsLogClient::getMount | ( | char * | Lfn, |
char * | Pfn, | ||
XrdCnsXref & | Mount | ||
) | [private] |
int XrdCnsLogClient::Init | ( | ) |
References XrdCms::Config, XrdSysError::Emsg(), XrdCnsLog::invFNa, XrdCnsLog::List(), logDir, logFirst, logFN, logLast, XrdOucUtils::makePath(), XrdCns::MLog, Mode, XrdCnsLogFile::Next, XrdOucNSWalk::NSEnt::Next, XrdCnsConfig::optRecr, Run(), S_IROTH, S_IRWXG, S_IRWXU, S_IXOTH, XrdOucNSWalk::NSEnt::Stat, unlink(), and urlHost.
int XrdCnsLogClient::Inventory | ( | XrdCnsLogFile * | lfp, |
const char * | dPath | ||
) | [private] |
Referenced by Manifest().
int XrdCnsLogClient::Manifest | ( | ) | [private] |
References Admin, arkFN, arkPath, XrdCnsInventory::Conduct(), XrdCms::Config, DEBUG, XrdSysError::Emsg(), XrdCnsLogFile::Eol(), ServerResponseBody_Error::errnum, XrdCnsLogFile::FName(), XrdCnsInventory::Init(), Inventory(), XrdCnsLog::invFNa, XrdCnsLog::invFNt, XrdCnsLog::invFNz, kXR_NotFound, XrdClientAbs::LastServerError(), lfMutex, XrdSysMutex::Lock(), logDir, logFirst, logFN, logLast, XrdCns::MLog, XrdCnsLogFile::Next, XrdOucTList::next, XrdCnsLogFile::Open(), rename(), rindex, XrdClientAdmin::Stat(), XrdOucTList::text, TRACE, unlink(), XrdSysMutex::UnLock(), and xrdEmsg().
Referenced by Run().
int XrdCnsLogClient::mapError | ( | int | rc | ) | [private] |
References EHOSTUNREACH, kXR_ArgTooLong, kXR_FSError, kXR_IOError, kXR_isDirectory, kXR_NoMemory, kXR_noserver, kXR_NoSpace, kXR_NotAuthorized, kXR_NotFile, and kXR_NotFound.
Referenced by xrdEmsg().
int XrdCnsLogClient::Run | ( | int | Always = 1 | ) |
References admConnect(), Admin, Archive(), arkFN, arkOnly, arkURL, XrdCnsLogFile::Commit(), XrdCms::Config, XrdCnsLogRec::Data(), DEBUG, do_Create(), do_Mkdir(), do_Mv(), do_Rm(), do_Rmdir(), do_Trunc(), XrdSysError::Emsg(), XrdCnsLogFile::getRec(), lfMutex, XrdCnsLogRec::Lfn1(), lfSem, XrdSysMutex::Lock(), logFirst, logLast, XrdCnsLogRec::lrClosew, XrdCnsLogRec::lrCreate, XrdCnsLogRec::lrInvD, XrdCnsLogRec::lrInvF, XrdCnsLogRec::lrMkdir, XrdCnsLogRec::lrMount, XrdCnsLogRec::lrMv, XrdCnsLogRec::lrRm, XrdCnsLogRec::lrRmdir, XrdCnsLogRec::lrSpace, XrdCnsLogRec::lrTOD, Manifest(), XrdCns::MLog, XrdCnsLogFile::Next, XrdCnsLogFile::Open(), XrdCnsLogRec::Space(), TRACE, XrdCnsLogRec::Type(), XrdCnsLogFile::Unlink(), XrdSysMutex::UnLock(), urlHost, and XrdSysSemaphore::Wait().
Referenced by Init(), and XrdCns::StartLogClient().
int XrdCnsLogClient::Start | ( | ) |
References XrdSysError::Emsg(), XrdCns::MLog, Next, XrdSysThread::Run(), Start(), XrdCns::StartLogClient(), and XRDSYSTHREAD_BIND.
Referenced by Start().
int XrdCnsLogClient::xrdEmsg | ( | const char * | Opname, |
const char * | theFN, | ||
XrdClientAdmin * | aP | ||
) | [private] |
References XrdSysError::Emsg(), ServerResponseBody_Error::errmsg, ServerResponseBody_Error::errnum, XrdClientAbs::LastServerError(), mapError(), and XrdCns::MLog.
Referenced by admConnect(), Archive(), do_Create(), do_Mkdir(), do_Mv(), do_Rm(), do_Rmdir(), do_Trunc(), Manifest(), and xrdEmsg().
int XrdCnsLogClient::xrdEmsg | ( | const char * | Opname, |
const char * | theFN, | ||
XrdClient * | fP | ||
) | [private] |
int XrdCnsLogClient::xrdEmsg | ( | const char * | Opname, |
const char * | theFN | ||
) | [private] |
XrdClientAdmin* XrdCnsLogClient::Admin [private] |
Referenced by Archive(), do_Mkdir(), do_Mv(), do_Rm(), do_Rmdir(), do_Trunc(), Manifest(), Run(), XrdCnsLogClient(), and xrdEmsg().
char* XrdCnsLogClient::admURL [private] |
Referenced by admConnect(), and XrdCnsLogClient().
char* XrdCnsLogClient::arkFN [private] |
Referenced by Archive(), Manifest(), Run(), and XrdCnsLogClient().
int XrdCnsLogClient::arkOnly [private] |
Referenced by Run(), and XrdCnsLogClient().
char* XrdCnsLogClient::arkPath [private] |
Referenced by Archive(), Manifest(), and XrdCnsLogClient().
char XrdCnsLogClient::arkURL[MAXPATHLEN+512] [private] |
Referenced by Archive(), Run(), and XrdCnsLogClient().
char* XrdCnsLogClient::crtFN [private] |
Referenced by do_Create(), and XrdCnsLogClient().
char XrdCnsLogClient::crtURL[MAXPATHLEN+512] [private] |
Referenced by do_Create(), and XrdCnsLogClient().
XrdSysMutex XrdCnsLogClient::lfMutex [private] |
Referenced by Activate(), Manifest(), and Run().
XrdSysSemaphore XrdCnsLogClient::lfSem [private] |
Referenced by Activate(), and Run().
char XrdCnsLogClient::logDir[MAXPATHLEN+1] [private] |
Referenced by Activate(), Init(), Manifest(), and XrdCnsLogClient().
XrdCnsLogFile* XrdCnsLogClient::logFirst [private] |
Referenced by Activate(), Init(), Manifest(), Run(), and XrdCnsLogClient().
char* XrdCnsLogClient::logFN [private] |
Referenced by Activate(), Init(), Manifest(), and XrdCnsLogClient().
XrdCnsLogFile* XrdCnsLogClient::logLast [private] |
Referenced by Activate(), Init(), Manifest(), Run(), and XrdCnsLogClient().
XrdCnsLogClient* XrdCnsLogClient::Next [private] |
Referenced by Activate(), Start(), and XrdCnsLogClient().
int XrdCnsLogClient::pfxNF [private] |
Referenced by Activate(), and XrdCnsLogClient().
int XrdCnsLogClient::sfxFN [private] |
Referenced by Activate(), and XrdCnsLogClient().
char* XrdCnsLogClient::urlHost [private] |
Referenced by admConnect(), Init(), Run(), and XrdCnsLogClient().