XRootD
Loading...
Searching...
No Matches
XrdOssCsiDir Class Reference

#include <XrdOssCsi.hh>

Inheritance diagram for XrdOssCsiDir:
Collaboration diagram for XrdOssCsiDir:

Public Member Functions

 XrdOssCsiDir (XrdOss *parent, const char *tid, XrdOssCsiConfig &cf)
virtual ~XrdOssCsiDir ()
virtual int Opendir (const char *path, XrdOucEnv &env)
virtual int Readdir (char *buff, int blen)
Public Member Functions inherited from XrdOssDFHandler
 XrdOssDFHandler (XrdOssDF *successor)
virtual ~XrdOssDFHandler ()
virtual int Close (long long *retsz=0)
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).
virtual int Fstat (struct stat *buff)
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 blen)
virtual ssize_t Read (void *buff, off_t offset, size_t blen)
virtual int Read (XrdSfsAio *aiop)
virtual ssize_t ReadRaw (void *buff, off_t offset, size_t blen)
virtual ssize_t ReadV (XrdOucIOVec *readV, int n)
virtual int StatRet (struct stat *buff)
virtual ssize_t Write (const void *buff, off_t offset, size_t blen)
virtual int Write (XrdSfsAio *aiop)
virtual ssize_t WriteV (XrdOucIOVec *writeV, int n)
Public Member Functions inherited from XrdOssDF
 XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1)
virtual ~XrdOssDF ()
uint16_t DFType ()

Additional Inherited Members

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

Detailed Description

Definition at line 56 of file XrdOssCsi.hh.

Constructor & Destructor Documentation

◆ XrdOssCsiDir()

XrdOssCsiDir::XrdOssCsiDir ( XrdOss * parent,
const char * tid,
XrdOssCsiConfig & cf )
inline

Definition at line 60 of file XrdOssCsi.hh.

60: XrdOssDFHandler(parent->newDir(tid)), config_(cf) { }
static void parent()
XrdOssDFHandler(XrdOssDF *successor)

References XrdOssDFHandler::XrdOssDFHandler(), and parent().

Referenced by Opendir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~XrdOssCsiDir()

virtual XrdOssCsiDir::~XrdOssCsiDir ( )
inlinevirtual

Definition at line 61 of file XrdOssCsi.hh.

61{ }

Member Function Documentation

◆ Opendir()

int XrdOssCsiDir::Opendir ( const char * path,
XrdOucEnv & env )
virtual

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 XrdOssDFHandler.

Definition at line 56 of file XrdOssCsi.cc.

57{
58 if (config_.tagParam_.isTagFile(path)) return -ENOENT;
59
60 skipsuffix_ = !config_.tagParam_.hasPrefix();
61 if (!skipsuffix_)
62 {
63 skipprefix_ = config_.tagParam_.matchPrefixDir(path);
64 if (skipprefix_)
65 {
66 skipprefixname_ = config_.tagParam_.getPrefixName();
67 }
68 }
69 return successor_->Opendir(path, env);
70}
XrdOssDF * successor_

References XrdOssCsiDir(), if(), Opendir(), and XrdOssDFHandler::successor_.

Referenced by Opendir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Readdir()

int XrdOssCsiDir::Readdir ( char * buff,
int blen )
virtual

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 XrdOssDFHandler.

Definition at line 73 of file XrdOssCsi.cc.

74{
75 int ret;
76 do
77 {
78 ret = successor_->Readdir(buff, blen);
79 if (ret<0) return ret;
80 if (skipsuffix_)
81 {
82 if (config_.tagParam_.isTagFile(buff)) continue;
83 }
84 else if (skipprefix_)
85 {
86 if (skipprefixname_ == buff) continue;
87 }
88 break;
89 } while(1);
90 return ret;
91}

References XrdOssDFHandler::successor_.


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