78#ifdef R__TRACK_BASKET_ALLOC_TIME
139#ifdef R__TRACK_BASKET_ALLOC_TIME
140 ULong64_t GetResetAllocationTime()
const {
return fResetAllocationTime; }
unsigned long long ULong64_t
#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
Manages buffers for branches of a Tree.
Int_t * fEntryOffset
[fNevBuf] Offset of entries in fBuffer(TKey); generated at runtime.
bool GetResetAllocationCount() const
Int_t GetEntryPointer(Int_t Entry)
Get pointer to buffer for internal entry.
void AdoptBuffer(TBuffer *user_buffer)
Adopt a buffer from an external entity.
bool fHeaderOnly
True when only the basket header must be read/written.
TBranch * fBranch
Pointer to the basket support branch.
Int_t GetNevBufSize() const
Long64_t CopyTo(TFile *to)
Copy the basket of this branch onto the file to.
Int_t * GetDisplacement() const
void InitializeCompressedBuffer(Int_t len, TFile *file)
Initialize the compressed buffer; either from the TTree or create a local one.
UChar_t fNextBufferSizeRecord
! Index into fLastWriteBufferSize of the last buffer written to disk
Int_t ReadBasketBuffersUnzip(char *, Int_t, bool, TFile *)
We always create the TBuffer for the basket but it hold the buffer from the cache.
void DisownBuffer()
Disown all references to the internal buffer - some other object likely now owns it.
Int_t fLastWriteBufferSize[3]
! Size of the buffer last three buffers we wrote it to disk
void SetBranch(TBranch *branch)
Int_t ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file)
Read basket buffers in memory and cleanup.
UChar_t fIOBits
!IO feature flags. Serialized in custom portion of streamer to avoid forward compat issues unless nee...
virtual Int_t DropBuffers()
Drop buffers of this basket if it is not the current basket.
virtual void PrepareBasket(Long64_t)
virtual void MoveEntries(Int_t dentries)
Remove the first dentries of this basket, moving entries at dentries to the start of the buffer.
bool fOwnsCompressedBuffer
! Whether or not we own the compressed buffer.
void SetNevBufSize(Int_t n)
static constexpr int kIOBitCount
Int_t GetBufferSize() const
TBranch * GetBranch() const
TBasket()
Default constructor.
virtual void AdjustSize(Int_t newsize)
Increase the size of the current fBuffer up to newsize.
virtual void SetReadMode()
Set read mode of basket.
virtual void SetWriteMode()
Set write mode of basket.
Int_t ReadBasketBuffersUncompressedCase()
By-passing buffer unzipping has been requested and is possible (only 1 entry in this basket).
Int_t fBufferSize
fBuffer length in bytes
bool fReadEntryOffset
!Set to true if offset array was read from a file.
Int_t ReadBasketBytes(Long64_t pos, TFile *file)
Read basket buffers in memory and cleanup.
virtual void ReadResetBuffer(Int_t basketnumber)
Reset the read basket TBuffer memory allocation if needed.
bool fResetAllocation
! True if last reset re-allocated the memory
TBasket & operator=(const TBasket &)
TBasket objects are not copiable.
virtual Int_t WriteBuffer()
Write buffer of this basket on the current file.
Int_t LoadBasketBuffers(Long64_t pos, Int_t len, TFile *file, TTree *tree=nullptr)
Load basket buffers in memory without unziping.
~TBasket() override
Basket destructor.
void Update(Int_t newlast)
TBasket(const TBasket &)
TBasket objects are not copiable.
Int_t fNevBufSize
Length in Int_t of fEntryOffset OR fixed length of each entry if fEntryOffset is null!
Int_t fNevBuf
Number of entries in basket.
Int_t * GetCalculatedEntryOffset()
Calculates the entry offset array, if possible.
virtual void DeleteEntryOffset()
Delete fEntryOffset array.
TBuffer * fCompressedBufferRef
! Compressed buffer.
Int_t fLast
Pointer to last used byte in basket.
Int_t * fDisplacement
![fNevBuf] Displacement of entries in fBuffer(TKey)
bool CanGenerateOffsetArray()
Determine whether we can generate the offset array when this branch is read.
virtual void WriteReset()
Reset the write basket to the starting state.
A TTree is a list of TBranches.
Buffer base class used for serializing objects.
Describe directory structure in memory.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Book space in a file, create I/O buffers, to fill them, (un)compress them.
A TTree represents a columnar dataset.