XrdBwmFile Class Reference

#include <XrdBwm.hh>

Inheritance diagram for XrdBwmFile:
Inheritance graph
[legend]
Collaboration diagram for XrdBwmFile:
Collaboration graph
[legend]

List of all members.

Public Member Functions

int open (const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client, const char *opaque=0)
int close ()
int fctl (const int cmd, const char *args, XrdOucErrInfo &out_error)
const char * FName ()
int getMmap (void **Addr, off_t &Size)
int read (XrdSfsFileOffset fileOffset, XrdSfsXferSize amount)
XrdSfsXferSize read (XrdSfsFileOffset fileOffset, char *buffer, XrdSfsXferSize buffer_size)
int read (XrdSfsAio *aioparm)
XrdSfsXferSize write (XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size)
int write (XrdSfsAio *aioparm)
int sync ()
int sync (XrdSfsAio *aiop)
int stat (struct stat *buf)
int truncate (XrdSfsFileOffset fileOffset)
int getCXinfo (char cxtype[4], int &cxrsz)
 XrdBwmFile (const char *user, int monid)
virtual ~XrdBwmFile ()

Protected Attributes

const char * tident

Private Attributes

XrdBwmHandleoh

Constructor & Destructor Documentation

XrdBwmFile::XrdBwmFile ( const char *  user,
int  monid 
)
virtual XrdBwmFile::~XrdBwmFile (  )  [inline, virtual]

References close(), and oh.


Member Function Documentation

int XrdBwmFile::close (  )  [virtual]

Close the file.

Returns:
One of SFS_OK or SFS_ERROR.

Implements XrdSfsFile.

Referenced by ~XrdBwmFile().

int XrdBwmFile::fctl ( const int  cmd,
const char *  args,
XrdOucErrInfo eInfo 
) [virtual]

Execute a special operation on the file (version 1)

Parameters:
cmd - The operation to be performed (see below). SFS_FCTL_GETFD Return file descriptor if possible SFS_FCTL_STATV Reserved for future use.
args - specific arguments to cmd SFS_FCTL_GETFD Set to zero.
eInfo - The object where error info or results are to be returned. This is legacy and the error onject may be used as well.
Returns:
If an error occurs or the operation is not support, SFS_ERROR should be returned with error.code set to errno. Otherwise, SFS_FCTL_GETFD error.code holds the real file descriptor number If the value is negative, sendfile() is not used. If the value is SFS_SFIO_FDVAL then the SendData() method is used for future read requests.

Implements XrdSfsFile.

const char* XrdBwmFile::FName (  )  [inline, virtual]

Get the file path.

Returns:
Null terminated string of the path used in open().

Implements XrdSfsFile.

References XrdBwmHandle::Name(), and oh.

int XrdBwmFile::getCXinfo ( char  cxtype[4],
int &  cxrsz 
) [virtual]

Get compression information for the file.

Parameters:
cxtype - Place where the compression algorithm name is to be placed
cxrsz - Place where the compression page size is to be returned
Returns:
One of the valid SFS return codes described above. If the file is not compressed or an error is returned, cxrsz must be set to 0.

Implements XrdSfsFile.

int XrdBwmFile::getMmap ( void **  Addr,
off_t &  Size 
) [virtual]

Get file's memory mapping if one exists (memory mapped files only).

Parameters:
addr - Place where the starting memory address is returned.
size - Place where the file's size is returned.
Returns:
SFS_OK when the file is memory mapped or any other code otherwise.

Implements XrdSfsFile.

int XrdBwmFile::open ( const char *  fileName,
XrdSfsFileOpenMode  openMode,
mode_t  createMode,
const XrdSecEntity client,
const char *  opaque = 0 
) [virtual]

Open a file.

Parameters:
path - Pointer to the path of the file to be opened.
oMode - Flags indicating how the open is to be handled. SFS_O_CREAT create the file SFS_O_MKPTH Make directory path if missing SFS_O_NOWAIT do not impose operational delays SFS_O_NOTPC do not allow TPC operation SFS_O_POSC persist only on successful close SFS_O_RAWIO allow client-side decompression SFS_O_RDONLY open read/only SFS_O_RDWR open read/write SFS_O_REPLICA Open for replication SFS_O_RESET Reset any cached information SFS_O_TRUNC truncate existing file to zero length SFS_O_WRONLY open write/only
cMode - The file's mode if it will be created.
client - Client's identify (see common description).
opaque - path's CGI information (see common description).
Returns:
One of SFS_OK, SFS_ERROR, SFS_REDIRECT, SFS_STALL, or SFS_STARTED

Implements XrdSfsFile.

int XrdBwmFile::read ( XrdSfsAio aioparm  )  [virtual]

Read file bytes using asynchronous I/O.

Parameters:
aioparm - Pointer to async I/O object controlling the I/O.
Returns:
SFS_OK Request accepted and will be scheduled.
SFS_ERROR File could not be read, error holds the reason.

Implements XrdSfsFile.

XrdSfsXferSize XrdBwmFile::read ( XrdSfsFileOffset  offset,
char *  buffer,
XrdSfsXferSize  size 
) [virtual]

Read file bytes into a buffer.

Parameters:
offset - The offset where the read is to start.
buffer - pointer to buffer where the bytes are to be placed.
size - The number of bytes to read.
Returns:
>= 0 The number of bytes that placed in buffer.
SFS_ERROR File could not be read, error holds the reason.

Implements XrdSfsFile.

int XrdBwmFile::read ( XrdSfsFileOffset  offset,
XrdSfsXferSize  size 
) [virtual]

Preread file blocks into the file system cache.

Parameters:
offset - The offset where the read is to start.
size - The number of bytes to pre-read.
Returns:
>= 0 The number of bytes that will be pre-read.
SFS_ERROR File could not be preread, error holds the reason.

Implements XrdSfsFile.

int XrdBwmFile::stat ( struct stat *  buf  )  [virtual]

Return state information on the file.

Parameters:
buf - Pointer to the structure where info it to be returned.
Returns:
One of SFS_OK, SFS_ERROR, SFS_REDIRECT, or SFS_STALL. When SFS_OK is returned, buf must hold stat information.

Implements XrdSfsFile.

int XrdBwmFile::sync ( XrdSfsAio aiop  )  [virtual]

Make sure all outstanding data is actually written to the file (async).

Returns:
SFS_OK Request accepted and will be scheduled.
SFS_ERROR Request could not be accepted, return error has reason.

Implements XrdSfsFile.

int XrdBwmFile::sync (  )  [virtual]

Make sure all outstanding data is actually written to the file (sync).

Returns:
One of SFS_OK, SFS_ERROR, SFS_REDIRECT, SFS_STALL, or SFS_STARTED

Implements XrdSfsFile.

int XrdBwmFile::truncate ( XrdSfsFileOffset  fsize  )  [virtual]

Truncate the file.

Parameters:
fsize - The size that the file is to have.
Returns:
One of SFS_OK, SFS_ERROR, SFS_REDIRECT, or SFS_STALL

Implements XrdSfsFile.

int XrdBwmFile::write ( XrdSfsAio aioparm  )  [virtual]

Write file bytes using asynchronous I/O.

Parameters:
aioparm - Pointer to async I/O object controlling the I/O.
Returns:
0 Request accepted and will be scheduled.
!0 Request not accepted, returned value is errno.

Implements XrdSfsFile.

XrdSfsXferSize XrdBwmFile::write ( XrdSfsFileOffset  offset,
const char *  buffer,
XrdSfsXferSize  size 
) [virtual]

Write file bytes from a buffer.

Parameters:
offset - The offset where the write is to start.
buffer - pointer to buffer where the bytes reside.
size - The number of bytes to write.
Returns:
>= 0 The number of bytes that were written.
SFS_ERROR File could not be written, error holds the reason.

Implements XrdSfsFile.


Member Data Documentation

Referenced by FName(), and ~XrdBwmFile().

const char* XrdBwmFile::tident [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1