library: libCore
#include "TFileCacheWrite.h"

TFileCacheWrite


class description - header file - source file
viewCVS header - viewCVS source

class TFileCacheWrite: public TObject

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TFileCacheWrite()
TFileCacheWrite(TFile* file, Int_t buffersize)
virtual~TFileCacheWrite()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Bool_tFlush()
virtual Int_tGetBytesInCache() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual Int_tReadBuffer(char* buf, Long64_t pos, Int_t len)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetFile(TFile* file)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
virtual Int_tWriteBuffer(const char* buf, Long64_t pos, Int_t len)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TFileCacheWrite(const TFileCacheWrite&)
TFileCacheWrite&operator=(const TFileCacheWrite&)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Long64_tfSeekStartSeek value of first block in cache
Int_tfBufferSizeAllocated size of fBuffer
Int_tfNtotTotal size of cached blocks
TFile*fFilePointer to file
char*fBuffer[fBufferSize] buffer of contiguous prefetched blocks
Bool_tfRecursiveflag to avoid recursive calls

Class Description

                                                                      
 TFileCacheWrite : a cache when writing files over the network        
                                                                      
 A caching system to speed up network I/O, i.e. when there is         
 no operating system caching support (like the buffer cache for       
 local disk I/O). The cache makes sure that every I/O is done with    
 a (large) fixed length buffer thereby avoiding many small I/O's.     
 Currently the write cache system is used by the classes TNetFile,    
 TXNetFile and TWebFile (via TFile::WriteBuffers()).                  
                                                                      
 The write cache is automatically created when writing a remote file  
 (created in TFile::Open()).                                          
                                                                      

TFileCacheWrite()
 Default Constructor.
TFileCacheWrite(TFile *file, Int_t buffersize)
 Creates a TFileCacheWrite data structure.
 The write cache will be connected to file.
 The size of the cache will be buffersize,
 if buffersize < 10000 a default size of 512 Kbytes is used
~TFileCacheWrite()
 Destructor.
Bool_t Flush()
 Flush the current write buffer to the file.
 Returns kTRUE in case of error.
void Print(Option_t *option)
 Print class internal structure.
Int_t ReadBuffer(char *buf, Long64_t pos, Int_t len)
 Called by the read cache to check if the requested data is not
 in the write cache buffer. 
        Returns -1 if data not in write cache,
        0 otherwise.
Int_t WriteBuffer(const char *buf, Long64_t pos, Int_t len)
 Write buffer at position pos in the write buffer.
 The function returns 1 if the buffer has been successfully entered into the write buffer.
 The function returns 0 in case WriteBuffer() was recusively called via Flush().
 The function returns -1 in case of error.
void SetFile(TFile *file)
 Set the file using this cache. 
 Any write not yet flushed will be lost.
TFileCacheWrite(const TFileCacheWrite &)
TFileCacheWrite& operator=(const TFileCacheWrite &)
Int_t GetBytesInCache()
{ return fNtot; }

Author: Rene Brun 18/05/2006
Last update: root/base:$Name: $:$Id: TFileCacheWrite.cxx,v 1.8 2006/10/19 19:37:29 pcanal Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.