XrdCnsLogClient Class Reference

#include <XrdCnsLogClient.hh>

List of all members.

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

XrdClientAdminadmConnect (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
XrdCnsLogClientNext
XrdClientAdminAdmin
XrdCnsLogFilelogFirst
XrdCnsLogFilelogLast
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


Detailed Description

Definition at line 26 of file XrdCnsLogClient.hh.


Constructor & Destructor Documentation

XrdCnsLogClient::XrdCnsLogClient ( XrdOucTList rP,
XrdCnsLogClient pcP 
)

Definition at line 63 of file XrdCnsLogClient.cc.

References Admin, admURL, arkFN, arkOnly, arkPath, arkURL, XrdFrm::Config(), crtFN, crtURL, XrdSysError::Emsg(), XrdNetDNS::getHostName(), logDir, logFirst, logFN, logLast, XrdCns::MLog, Next, XrdCnsConfig::optNoCns, pfxNF, sfxFN, sprintf(), strcat(), strcpy(), XrdOucTList::text, urlHost, and XrdOucTList::val.

XrdCnsLogClient::~XrdCnsLogClient (  )  [inline]

Definition at line 39 of file XrdCnsLogClient.hh.


Member Function Documentation

int XrdCnsLogClient::Activate ( XrdCnsLogFile basefile  ) 

Definition at line 114 of file XrdCnsLogClient.cc.

References Activate(), lfMutex, lfSem, XrdSysMutex::Lock(), logDir, logFirst, logFN, logLast, XrdCnsLogFile::Next, Next, pfxNF, XrdSysSemaphore::Post(), sfxFN, sprintf(), XrdCnsLogFile::Subscribe(), and XrdSysMutex::UnLock().

Referenced by Activate(), XrdCnsLogServer::Init(), and XrdCnsLogServer::Run().

int XrdCnsLogClient::Init (  ) 

Definition at line 143 of file XrdCnsLogClient.cc.

References XrdFrm::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, strcpy(), unlink, and urlHost.

Referenced by XrdCnsLogServer::Init().

int XrdCnsLogClient::Run ( int  Always = 1  ) 

Definition at line 208 of file XrdCnsLogClient.cc.

References admConnect(), Admin, Archive(), arkFN, arkOnly, arkURL, XrdCnsLogFile::Commit(), XrdFrm::Config(), XrdCnsLogRec::Data(), DEBUG, do_Create(), do_Mkdir(), do_Mv(), do_Rm(), do_Rmdir(), do_Trunc(), XrdSysError::Emsg(), XrdCnsLogFile::getRec(), lfMutex, 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, n, XrdCnsLogFile::Next, Ok(), XrdCnsLogFile::Open(), XrdFrmConfig::Space(), strcpy(), TRACE, XrdCnsLogRec::Type(), XrdCnsLogFile::Unlink(), XrdSysMutex::UnLock(), urlHost, and XrdSysSemaphore::Wait().

Referenced by Init(), and XrdCns::StartLogClient().

int XrdCnsLogClient::Start (  ) 

Definition at line 296 of file XrdCnsLogClient.cc.

References XrdSysError::Emsg(), XrdCns::MLog, Next, XrdSysThread::Run(), Start(), XrdCns::StartLogClient(), and XRDSYSTHREAD_BIND.

Referenced by XrdCnsLogServer::Init(), and Start().

XrdClientAdmin * XrdCnsLogClient::admConnect ( XrdClientAdmin adminP  )  [private]

Definition at line 323 of file XrdCnsLogClient.cc.

References admURL, XrdClientAdmin::Connect(), DEBUG, XrdSysMutex::Lock(), XrdSysTimer::Snooze(), TRACE, XrdSysMutex::UnLock(), urlHost, and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::Archive ( XrdCnsLogFile lfP  )  [private]

Definition at line 355 of file XrdCnsLogClient.cc.

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, strcpy(), XrdClient::Write(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Create ( XrdCnsLogRec lrP,
const char *  lfn = 0 
) [private]

Definition at line 405 of file XrdCnsLogClient.cc.

References XrdFrm::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(), Ok(), XrdClient::Open(), S_IRGRP, S_IROTH, S_IWGRP, XrdCnsLogRec::Space(), XrdFrmConfig::Space(), ServerResponseHeader::status, strcat(), strcpy(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Mkdir ( XrdCnsLogRec lrP  )  [private]

Definition at line 446 of file XrdCnsLogClient.cc.

References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Mkdir(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Mv ( XrdCnsLogRec lrP  )  [private]

Definition at line 457 of file XrdCnsLogClient.cc.

References Admin, XrdCnsLogRec::Lfn1(), XrdCnsLogRec::Lfn2(), XrdClientAdmin::Mv(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Rm ( XrdCnsLogRec lrP  )  [private]

Definition at line 468 of file XrdCnsLogClient.cc.

References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Rm(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Rmdir ( XrdCnsLogRec lrP  )  [private]

Definition at line 478 of file XrdCnsLogClient.cc.

References Admin, XrdCnsLogRec::Lfn1(), XrdClientAdmin::Rmdir(), and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::do_Trunc ( XrdCnsLogRec lrP,
const char *  lfn = 0 
) [private]

Definition at line 488 of file XrdCnsLogClient.cc.

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::Inventory ( XrdCnsLogFile lfp,
const char *  dPath 
) [private]

Referenced by Manifest().

int XrdCnsLogClient::Manifest (  )  [private]

Definition at line 499 of file XrdCnsLogClient.cc.

References Admin, arkFN, arkPath, XrdFrm::Config(), DEBUG, XrdSysError::Emsg(), XrdCnsLogFile::Eol(), ServerResponseBody_Error::errnum, XrdCnsLogFile::FName(), 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(), strcpy(), XrdOucTList::text, TRACE, unlink, XrdSysMutex::UnLock(), V1, V2, V3, and xrdEmsg().

Referenced by Run().

int XrdCnsLogClient::mapError ( int  rc  )  [private]

Definition at line 575 of file XrdCnsLogClient.cc.

References EHOSTUNREACH, ENOSYS, 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::xrdEmsg ( const char *  Opname,
const char *  theFN,
XrdClientAdmin aP 
) [private]

Definition at line 596 of file XrdCnsLogClient.cc.

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 
) [private]

Definition at line 609 of file XrdCnsLogClient.cc.

References Admin, and xrdEmsg().

int XrdCnsLogClient::xrdEmsg ( const char *  Opname,
const char *  theFN,
XrdClient fP 
) [private]

Definition at line 616 of file XrdCnsLogClient.cc.

References XrdSysError::Emsg(), ServerResponseBody_Error::errmsg, ServerResponseBody_Error::errnum, XrdClientAbs::LastServerError(), mapError(), and XrdCns::MLog.


Member Data Documentation

XrdSysMutex XrdCnsLogClient::lfMutex [private]

Definition at line 59 of file XrdCnsLogClient.hh.

Referenced by Activate(), Manifest(), and Run().

XrdSysSemaphore XrdCnsLogClient::lfSem [private]

Definition at line 60 of file XrdCnsLogClient.hh.

Referenced by Activate(), and Run().

XrdCnsLogClient* XrdCnsLogClient::Next [private]

Definition at line 61 of file XrdCnsLogClient.hh.

Referenced by Activate(), Start(), and XrdCnsLogClient().

XrdClientAdmin* XrdCnsLogClient::Admin [private]

Definition at line 62 of file XrdCnsLogClient.hh.

Referenced by Archive(), do_Mkdir(), do_Mv(), do_Rm(), do_Rmdir(), do_Trunc(), Manifest(), Run(), XrdCnsLogClient(), and xrdEmsg().

XrdCnsLogFile* XrdCnsLogClient::logFirst [private]

Definition at line 64 of file XrdCnsLogClient.hh.

Referenced by Activate(), Init(), Manifest(), Run(), and XrdCnsLogClient().

XrdCnsLogFile* XrdCnsLogClient::logLast [private]

Definition at line 65 of file XrdCnsLogClient.hh.

Referenced by Activate(), Init(), Manifest(), Run(), and XrdCnsLogClient().

int XrdCnsLogClient::pfxNF [private]

Definition at line 67 of file XrdCnsLogClient.hh.

Referenced by Activate(), and XrdCnsLogClient().

int XrdCnsLogClient::sfxFN [private]

Definition at line 68 of file XrdCnsLogClient.hh.

Referenced by Activate(), and XrdCnsLogClient().

int XrdCnsLogClient::arkOnly [private]

Definition at line 69 of file XrdCnsLogClient.hh.

Referenced by Run(), and XrdCnsLogClient().

char* XrdCnsLogClient::admURL [private]

Definition at line 71 of file XrdCnsLogClient.hh.

Referenced by admConnect(), and XrdCnsLogClient().

char* XrdCnsLogClient::urlHost [private]

Definition at line 72 of file XrdCnsLogClient.hh.

Referenced by admConnect(), Init(), Run(), and XrdCnsLogClient().

char XrdCnsLogClient::arkURL[MAXPATHLEN+512] [private]

Definition at line 74 of file XrdCnsLogClient.hh.

Referenced by Archive(), Run(), and XrdCnsLogClient().

char* XrdCnsLogClient::arkPath [private]

Definition at line 75 of file XrdCnsLogClient.hh.

Referenced by Archive(), Manifest(), and XrdCnsLogClient().

char* XrdCnsLogClient::arkFN [private]

Definition at line 76 of file XrdCnsLogClient.hh.

Referenced by Archive(), Manifest(), Run(), and XrdCnsLogClient().

char XrdCnsLogClient::crtURL[MAXPATHLEN+512] [private]

Definition at line 77 of file XrdCnsLogClient.hh.

Referenced by do_Create(), and XrdCnsLogClient().

char* XrdCnsLogClient::crtFN [private]

Definition at line 78 of file XrdCnsLogClient.hh.

Referenced by do_Create(), and XrdCnsLogClient().

char XrdCnsLogClient::logDir[MAXPATHLEN+1] [private]

Definition at line 79 of file XrdCnsLogClient.hh.

Referenced by Activate(), Init(), Manifest(), and XrdCnsLogClient().

char* XrdCnsLogClient::logFN [private]

Definition at line 80 of file XrdCnsLogClient.hh.

Referenced by Activate(), Init(), Manifest(), and XrdCnsLogClient().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:26 2011 for ROOT_528-00b_version by  doxygen 1.5.1