XRootD
StatsDirectory Class Reference

#include <XrdStatsDirectory.hh>

+ Inheritance diagram for StatsDirectory:
+ Collaboration diagram for StatsDirectory:

Public Member Functions

 StatsDirectory (const char *user, std::unique_ptr< XrdOssDF > ossDF, XrdSysError &log, StatsFileSystem &oss)
 
virtual ~StatsDirectory ()
 
int Close (long long *retsz=0) override
 
virtual int Opendir (const char *path, XrdOucEnv &env) override
 
int Readdir (char *buff, int blen) override
 
int StatRet (struct stat *statStruct) override
 
- Public Member Functions inherited from XrdOssDF
 XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1)
 
virtual ~XrdOssDF ()
 
uint16_t DFType ()
 
virtual int Fchmod (mode_t mode)
 
virtual int Fctl (int cmd, int alen, const char *args, char **resp=0)
 
virtual void Flush ()
 Flush filesystem cached pages for this file (used for checksums). More...
 
virtual int Fstat (struct stat *buf)
 
virtual int Fsync ()
 
virtual int Fsync (XrdSfsAio *aiop)
 
virtual int Ftruncate (unsigned long long flen)
 
virtual int getFD ()
 
virtual off_t getMmap (void **addr)
 
virtual const char * getTID ()
 
virtual int isCompressed (char *cxidp=0)
 
virtual int Open (const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
 
virtual ssize_t pgRead (void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
 
virtual int pgRead (XrdSfsAio *aioparm, uint64_t opts)
 
virtual ssize_t pgWrite (void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
 
virtual int pgWrite (XrdSfsAio *aioparm, uint64_t opts)
 
virtual ssize_t Read (off_t offset, size_t size)
 
virtual ssize_t Read (void *buffer, off_t offset, size_t size)
 
virtual int Read (XrdSfsAio *aiop)
 
virtual ssize_t ReadRaw (void *buffer, off_t offset, size_t size)
 
virtual ssize_t ReadV (XrdOucIOVec *readV, int rdvcnt)
 
virtual ssize_t Write (const void *buffer, off_t offset, size_t size)
 
virtual int Write (XrdSfsAio *aiop)
 
virtual ssize_t WriteV (XrdOucIOVec *writeV, int wrvcnt)
 

Additional Inherited Members

- Static Public Attributes inherited from XrdOssDF
static const uint16_t DF_isDir = 0x0001
 Object is for a directory. More...
 
static const uint16_t DF_isFile = 0x0002
 Object is for a file. More...
 
static const uint16_t DF_isProxy = 0x0010
 Object is a proxy object. More...
 
static const uint64_t doCalc = 0x4000000000000000ULL
 pgw: Calculate checksums More...
 
static const int Fctl_ckpObj = 0
 
static const int Fctl_utimes = 1
 
static const uint64_t Verify = 0x8000000000000000ULL
 all: Verify checksums More...
 
- Protected Attributes inherited from XrdOssDF
uint16_t dfType
 
int fd
 
off_t pgwEOF
 
short rsvd
 
const char * tident
 

Detailed Description

Definition at line 11 of file XrdStatsDirectory.hh.

Constructor & Destructor Documentation

◆ StatsDirectory()

StatsDirectory::StatsDirectory ( const char *  user,
std::unique_ptr< XrdOssDF ossDF,
XrdSysError log,
StatsFileSystem oss 
)
inline

Definition at line 13 of file XrdStatsDirectory.hh.

13  :
14  XrdOssDF(user),
15  m_wrappedDir(std::move(ossDF)),
16  m_log(log),
17  m_oss(oss)
18  {
19  }
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
Definition: XrdOss.hh:444

◆ ~StatsDirectory()

virtual StatsDirectory::~StatsDirectory ( )
inlinevirtual

Definition at line 21 of file XrdStatsDirectory.hh.

21 {}

Member Function Documentation

◆ Close()

int StatsDirectory::Close ( long long *  retsz = 0)
inlineoverridevirtual

Close a directory or file.

Parameters
retszIf not nil, where the size of the file is to be returned.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOssDF.

Definition at line 42 of file XrdStatsDirectory.hh.

43  {
44  return m_wrappedDir->Close(retsz);
45  }

◆ Opendir()

virtual int StatsDirectory::Opendir ( const char *  path,
XrdOucEnv env 
)
inlineoverridevirtual

Open a directory.

Parameters
path- Pointer to the path of the directory to be opened.
env- Reference to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

Definition at line 24 of file XrdStatsDirectory.hh.

26  {
27  StatsFileSystem::OpTimer op(m_oss.m_ops.m_dirlist_ops, m_oss.m_slow_ops.m_dirlist_ops, m_oss.m_times.m_dirlist, m_oss.m_slow_times.m_dirlist, m_oss.m_slow_duration);
28  return m_wrappedDir->Opendir(path, env);
29  }

◆ Readdir()

int StatsDirectory::Readdir ( char *  buff,
int  blen 
)
inlineoverridevirtual

Get the next directory entry.

Parameters
buff- Pointer to buffer where a null terminated string of the entry name is to be returned. If no more entries exist, a null string is returned.
blen- Length of the buffer.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

Definition at line 31 of file XrdStatsDirectory.hh.

32  {
33  StatsFileSystem::OpTimer op(m_oss.m_ops.m_dirlist_entries, m_oss.m_slow_ops.m_dirlist_entries, m_oss.m_times.m_dirlist, m_oss.m_slow_times.m_dirlist, m_oss.m_slow_duration);
34  return m_wrappedDir->Readdir(buff, blen);
35  }

◆ StatRet()

int StatsDirectory::StatRet ( struct stat buff)
inlineoverridevirtual

Set the stat() buffer where stat information is to be placed corresponding to the directory entry returned by Readdir().

Parameters
buff- Pointer to stat structure to be used.
Returns
0 upon success or -ENOTSUP if not supported.
Note
This is a one-time call as stat structure is reused for each Readdir.
When StatRet() is in effect, directory entries that have been deleted from the target directory are quietly skipped.

Reimplemented from XrdOssDF.

Definition at line 37 of file XrdStatsDirectory.hh.

38  {
39  return m_wrappedDir->StatRet(statStruct);
40  }

The documentation for this class was generated from the following file: