xrootd
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
XrdFileCache::IO Class Reference

Base cache-io class that implements XrdOucCacheIO abstract methods. More...

#include <XrdFileCacheIO.hh>

Inheritance diagram for XrdFileCache::IO:
Inheritance graph
[legend]
Collaboration diagram for XrdFileCache::IO:
Collaboration graph
[legend]

Public Member Functions

 IO (XrdOucCacheIO2 *io, XrdOucCacheStats &stats, Cache &cache)
 
virtual XrdOucCacheIOBase ()
 Original data source. More...
 
virtual const char * Path ()
 Original data source URL. More...
 
virtual int Sync ()
 
virtual int Trunc (long long Offset)
 
virtual int Write (char *Buffer, long long Offset, int Length)
 
virtual void Update (XrdOucCacheIO2 &iocp)
 
XrdSysTraceGetTrace ()
 
XrdOucCacheIO2GetInput ()
 
virtual void Sync (XrdOucCacheIOCB &iocb)
 
virtual void Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen)
 
- Public Member Functions inherited from XrdOucCacheIO2
virtual int Fstat (struct stat &sbuff)
 
virtual const char * Location ()
 
virtual void Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen)
 
virtual void ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int rnum)
 
virtual void Sync (XrdOucCacheIOCB &iocb)
 
virtual void Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen)
 
virtual ~XrdOucCacheIO2 ()
 
virtual int Read (char *Buffer, long long Offset, int Length)=0
 
virtual int ReadV (const XrdOucIOVec *readV, int n)
 
virtual int Sync ()=0
 
virtual int Write (char *Buffer, long long Offset, int Length)=0
 
- Public Member Functions inherited from XrdOucCacheIO
virtual long long FSize ()=0
 
virtual int Read (char *Buffer, long long Offset, int Length)=0
 
virtual int ReadV (const XrdOucIOVec *readV, int n)
 
virtual XrdOucCacheIODetach ()
 
virtual bool ioActive ()
 
virtual void Preread (long long Offset, int Length, int Opts=0)
 
virtual void Preread (aprParms &Parms)
 
virtual ~XrdOucCacheIO ()
 

Protected Member Functions

const char * GetPath ()
 

Protected Attributes

XrdOucCacheStatsm_statsGlobal
 reference to Cache statistics More...
 
Cachem_cache
 reference to Cache needed in detach More...
 
const char * m_traceID
 
std::string m_path
 

Private Member Functions

void SetInput (XrdOucCacheIO2 *)
 

Private Attributes

XrdOucCacheIO2m_io
 original data source More...
 
XrdSysMutex updMutex
 

Additional Inherited Members

- Public Attributes inherited from XrdOucCacheIO
XrdOucCacheStats Statistics
 
- Static Public Attributes inherited from XrdOucCacheIO
static const int SingleUse = 0x0001
 

Detailed Description

Base cache-io class that implements XrdOucCacheIO abstract methods.

Constructor & Destructor Documentation

◆ IO()

XrdFileCache::IO::IO ( XrdOucCacheIO2 io,
XrdOucCacheStats stats,
Cache cache 
)

Member Function Documentation

◆ Base()

virtual XrdOucCacheIO* XrdFileCache::IO::Base ( )
inlinevirtual

Original data source.

Reimplemented from XrdOucCacheIO.

References m_io.

◆ GetInput()

XrdOucCacheIO2* XrdFileCache::IO::GetInput ( )

◆ GetPath()

const char* XrdFileCache::IO::GetPath ( )
inlineprotected

References m_path.

◆ GetTrace()

XrdSysTrace* XrdFileCache::IO::GetTrace ( )
inline

◆ Path()

virtual const char* XrdFileCache::IO::Path ( )
inlinevirtual

Original data source URL.

Implements XrdOucCacheIO.

References m_io, and XrdOucCacheIO::Path().

◆ SetInput()

void XrdFileCache::IO::SetInput ( XrdOucCacheIO2 )
private

◆ Sync() [1/2]

virtual int XrdFileCache::IO::Sync ( )
inlinevirtual

Implements XrdOucCacheIO.

◆ Sync() [2/2]

virtual void XrdOucCacheIO2::Sync
inline

◆ Trunc()

virtual int XrdFileCache::IO::Trunc ( long long  Offset)
inlinevirtual

Implements XrdOucCacheIO.

◆ Update()

virtual void XrdFileCache::IO::Update ( XrdOucCacheIO2 iocp)
virtual

Update the originally passed XrdOucCacheIO2 object with the object passed. All future uses underlying XrdOucCacheIO2 object must now use this object. Update() is called when Prepare() indicated that the file should not be physically opened and a file method was invoked in the XrdOucCacheIO2 passed to Attach(). When this occurs, the file is actually opened and Update() called to replace the original XrdOucCacheIO2 object with one that uses the newly opened file.

Parameters
iocpreference to the new XrdOucCacheIO2 object.

Reimplemented from XrdOucCacheIO2.

◆ Write() [1/2]

virtual int XrdFileCache::IO::Write ( char *  Buffer,
long long  Offset,
int  Length 
)
inlinevirtual

Implements XrdOucCacheIO.

◆ Write() [2/2]

virtual void XrdOucCacheIO2::Write
inline

Member Data Documentation

◆ m_cache

Cache& XrdFileCache::IO::m_cache
protected

reference to Cache needed in detach

Referenced by GetTrace().

◆ m_io

XrdOucCacheIO2* XrdFileCache::IO::m_io
private

original data source

Referenced by Base(), and Path().

◆ m_path

std::string XrdFileCache::IO::m_path
protected

Referenced by GetPath().

◆ m_statsGlobal

XrdOucCacheStats& XrdFileCache::IO::m_statsGlobal
protected

reference to Cache statistics

◆ m_traceID

const char* XrdFileCache::IO::m_traceID
protected

◆ updMutex

XrdSysMutex XrdFileCache::IO::updMutex
private

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