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)

◆ ~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 57 of file XrdOssCsi.cc.

58{
59 if (config_.tagParam_.isTagFile(path)) return -ENOENT;
60
61 skipsuffix_ = !config_.tagParam_.hasPrefix();
62 if (!skipsuffix_)
63 {
64 skipprefix_ = config_.tagParam_.matchPrefixDir(path);
65 if (skipprefix_)
66 {
67 skipprefixname_ = config_.tagParam_.getPrefixName();
68 }
69 }
70 return successor_->Opendir(path, env);
71}
std::string getPrefixName()
bool matchPrefixDir(const char *path)
bool hasPrefix()
bool isTagFile(const char *path)
XrdOssDF * successor_
virtual int Opendir(const char *path, XrdOucEnv &env)
Definition XrdOss.hh:79

References if(), and Opendir().

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 74 of file XrdOssCsi.cc.

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

References TagPath::isTagFile(), XrdOssDF::Readdir(), XrdOssDFHandler::successor_, and XrdOssCsiConfig::tagParam_.

+ Here is the call graph for this function:

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