12#ifndef ROOT_TFileCacheRead 
   13#define ROOT_TFileCacheRead 
#define ClassDefOverride(name, id)
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
A TTree is a list of TBranches.
 
A cache when reading files over the network.
 
virtual Long64_t GetBytesRead() const
 
virtual Int_t AddBranch(const char *, Bool_t=kFALSE)
 
Long64_t fBytesReadExtra
Number of extra bytes (overhead) read by the readahead buffer.
 
virtual Bool_t IsEnablePrefetching() const
 
virtual Long64_t GetBytesReadExtra() const
 
virtual Long64_t GetNoCacheBytesRead() const
 
Int_t fBufferSize
Allocated size of fBuffer (at a given time)
 
char * fBuffer
[fBufferSize] buffer of contiguous prefetched blocks
 
Long64_t * fBSeekSort
[fBNseek]
 
TFileCacheRead(const TFileCacheRead &)=delete
 
Long64_t * fPos
[fNb] start of long buffers
 
virtual Int_t SetBufferSize(Int_t buffersize)
Sets the buffer size.
 
virtual Int_t GetUnzipBuffer(char **, Long64_t, Int_t, Bool_t *)
 
Bool_t fIsSorted
True if fSeek array is sorted.
 
virtual Int_t GetReadCalls() const
 
Int_t * fSeekIndex
[fNseek] sorted index table of fSeek
 
virtual Int_t ReadBufferExt(char *buf, Long64_t pos, Int_t len, Int_t &loc)
 
Long64_t * fSeekSort
[fNseek] Position on file of buffers to be prefetched (sorted)
 
virtual Int_t ReadBuffer(char *buf, Long64_t pos, Int_t len)
Read buffer at position pos.
 
TFilePrefetch * fPrefetch
! Object that does the asynchronous reading in another thread
 
Int_t * fBSeekPos
[fBNseek]
 
virtual void SecondPrefetch(Long64_t, Int_t)
 
virtual Bool_t IsAsyncReading() const
 
Long64_t fBytesRead
Number of bytes read for this cache.
 
virtual void SecondSort()
Sort buffers to be prefetched in increasing order of positions.
 
virtual TFilePrefetch * GetPrefetchObj()
 
virtual Int_t ReadBufferExtPrefetch(char *buf, Long64_t pos, Int_t len, Int_t &loc)
prefetch the first block
 
virtual void Sort()
Sort buffers to be prefetched in increasing order of positions.
 
virtual void AddNoCacheReadCalls(Int_t reads)
 
virtual Int_t ReadBufferExtNormal(char *buf, Long64_t pos, Int_t len, Int_t &loc)
Base function for ReadBuffer.
 
virtual void SetSkipZip(Bool_t=kTRUE)
 
TFileCacheRead()
Default Constructor.
 
Long64_t GetPrefetchedBlocks() const
 
virtual ~TFileCacheRead()
Destructor.
 
void SetEnablePrefetchingImpl(Bool_t setPrefetching=kFALSE)
TFileCacheRead implementation of SetEnablePrefetching.
 
virtual void AddNoCacheBytesRead(Long64_t len)
 
Bool_t fEnablePrefetching
reading by prefetching asynchronously
 
Int_t * fSeekLen
[fNseek] Length of buffers to be prefetched
 
Int_t fNtot
Total size of prefetched blocks.
 
virtual void Prefetch(Long64_t pos, Int_t len)
Add block of length len at position pos in the list of blocks to be prefetched.
 
Int_t * fSeekSortLen
[fNseek] Length of buffers to be prefetched (sorted)
 
virtual void SetEnablePrefetching(Bool_t setPrefetching=kFALSE)
Set the prefetching mode of this file.
 
Int_t fBufferSizeMin
Original size of fBuffer.
 
TFileCacheRead & operator=(const TFileCacheRead &)=delete
 
virtual Bool_t IsLearning() const
 
Int_t * fBSeekIndex
[fBNseek]
 
virtual void Close(Option_t *option="")
Close out any threads or asynchronous fetches used by the underlying implementation.
 
Int_t fNb
Number of long buffers.
 
Int_t fReadCalls
Number of read calls for this cache.
 
Int_t fBufferLen
Current buffer length (<= fBufferSize)
 
virtual Int_t AddBranch(TBranch *, Bool_t=kFALSE)
 
Long64_t fPrefetchedBlocks
Number of blocks prefetched.
 
Long64_t fNoCacheBytesRead
Number of bytes read by basket to fill cached tree.
 
Long64_t * fSeek
[fNseek] Position on file of buffers to be prefetched
 
virtual Int_t GetNoCacheReadCalls() const
 
Bool_t fIsTransferred
True when fBuffer contains something valid.
 
TFile * fFile
Pointer to file.
 
virtual void WaitFinishPrefetch()
 
Int_t * fBSeekLen
[fBNseek]
 
Int_t fNseek
Number of blocks to be prefetched.
 
Int_t * fLen
[fNb] Length of long buffers
 
Int_t * fBSeekSortLen
[fBNseek]
 
void Print(Option_t *option="") const override
Print cache statistics.
 
Int_t fNoCacheReadCalls
Number of read calls by basket to fill cached tree.
 
Int_t * fSeekPos
[fNseek] Position of sorted blocks in fBuffer
 
virtual Int_t LearnBranch(TBranch *, Bool_t=kFALSE)
 
virtual Int_t GetBufferSize() const
 
Int_t fSeekSize
Allocated size of fSeek.
 
Long64_t * fBSeek
[fBNseek]
 
virtual void SetFile(TFile *file, TFile::ECacheAction action=TFile::kDisconnect)
Set the file using this cache and reset the current blocks (if any).
 
The prefetching mechanism uses two classes (TFilePrefetch and TFPBlock) to prefetch in advance a bloc...
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
ECacheAction
TTreeCache flushing semantics.
 
Mother of all ROOT objects.