Logo ROOT  
Reference Guide
TTreeCacheUnzip::UnzipState Struct Reference

Definition at line 47 of file TTreeCacheUnzip.h.

Public Member Functions

 UnzipState ()
 
 ~UnzipState ()
 
void Clear (Int_t size)
 Clear all baskets' state arrays. More...
 
Bool_t IsFinished (Int_t index) const
 
Bool_t IsProgress (Int_t index) const
 
Bool_t IsUntouched (Int_t index) const
 
Bool_t IsUnzipped (Int_t index) const
 Check if the basket is unzipped already. More...
 
void Reset (Int_t oldSize, Int_t newSize)
 Reset all baskets' state arrays. More...
 
void SetFinished (Int_t index)
 Set cache as finished. More...
 
void SetMissed (Int_t index)
 
void SetProgress (Int_t index)
 
void SetUntouched (Int_t index)
 
void SetUnzipped (Int_t index, char *buf, Int_t len)
 
Bool_t TryUnzipping (Int_t index)
 Start unzipping the basket if it is untouched yet. More...
 

Public Attributes

std::unique_ptr< char[]> * fUnzipChunks
 ! [fNseek] Individual unzipped chunks. Their summed size is kept under control. More...
 
std::vector< Int_tfUnzipLen
 ! [fNseek] Length of the unzipped buffers More...
 
std::atomic< Byte_t > * fUnzipStatus
 ! [fNSeek] More...
 

#include <TTreeCacheUnzip.h>

Constructor & Destructor Documentation

◆ UnzipState()

TTreeCacheUnzip::UnzipState::UnzipState ( )
inline

Definition at line 55 of file TTreeCacheUnzip.h.

◆ ~UnzipState()

TTreeCacheUnzip::UnzipState::~UnzipState ( )
inline

Definition at line 59 of file TTreeCacheUnzip.h.

Member Function Documentation

◆ Clear()

void TTreeCacheUnzip::UnzipState::Clear ( Int_t  size)

Clear all baskets' state arrays.

Definition at line 52 of file TTreeCacheUnzip.cxx.

◆ IsFinished()

Bool_t TTreeCacheUnzip::UnzipState::IsFinished ( Int_t  index) const

Definition at line 76 of file TTreeCacheUnzip.cxx.

◆ IsProgress()

Bool_t TTreeCacheUnzip::UnzipState::IsProgress ( Int_t  index) const

Definition at line 70 of file TTreeCacheUnzip.cxx.

◆ IsUntouched()

Bool_t TTreeCacheUnzip::UnzipState::IsUntouched ( Int_t  index) const

Definition at line 64 of file TTreeCacheUnzip.cxx.

◆ IsUnzipped()

Bool_t TTreeCacheUnzip::UnzipState::IsUnzipped ( Int_t  index) const

Check if the basket is unzipped already.

We must make sure the length in fUnzipLen is larger than 0.

Definition at line 84 of file TTreeCacheUnzip.cxx.

◆ Reset()

void TTreeCacheUnzip::UnzipState::Reset ( Int_t  oldSize,
Int_t  newSize 
)

Reset all baskets' state arrays.

This function is only called by main thread and parallel processing from upper layers should be disabled such as IMT in TTree::GetEntry(). Other threads should not call this function since it is not thread-safe.

Definition at line 94 of file TTreeCacheUnzip.cxx.

◆ SetFinished()

void TTreeCacheUnzip::UnzipState::SetFinished ( Int_t  index)

Set cache as finished.

There are three scenarios that a basket is set as finished:

  1. The basket has already been unzipped.
  2. The thread is aborted from unzipping process.
  3. To avoid other tasks/threads work on this basket, main thread marks the basket as finished and designates itself to unzip this basket.

Definition at line 125 of file TTreeCacheUnzip.cxx.

◆ SetMissed()

void TTreeCacheUnzip::UnzipState::SetMissed ( Int_t  index)

Definition at line 133 of file TTreeCacheUnzip.cxx.

◆ SetProgress()

void TTreeCacheUnzip::UnzipState::SetProgress ( Int_t  index)

◆ SetUntouched()

void TTreeCacheUnzip::UnzipState::SetUntouched ( Int_t  index)

◆ SetUnzipped()

void TTreeCacheUnzip::UnzipState::SetUnzipped ( Int_t  index,
char *  buf,
Int_t  len 
)

Definition at line 140 of file TTreeCacheUnzip.cxx.

◆ TryUnzipping()

Bool_t TTreeCacheUnzip::UnzipState::TryUnzipping ( Int_t  index)

Start unzipping the basket if it is untouched yet.

Definition at line 150 of file TTreeCacheUnzip.cxx.

Member Data Documentation

◆ fUnzipChunks

std::unique_ptr<char[]>* TTreeCacheUnzip::UnzipState::fUnzipChunks

! [fNseek] Individual unzipped chunks. Their summed size is kept under control.

Definition at line 51 of file TTreeCacheUnzip.h.

◆ fUnzipLen

std::vector<Int_t> TTreeCacheUnzip::UnzipState::fUnzipLen

! [fNseek] Length of the unzipped buffers

Definition at line 52 of file TTreeCacheUnzip.h.

◆ fUnzipStatus

std::atomic<Byte_t>* TTreeCacheUnzip::UnzipState::fUnzipStatus

! [fNSeek]

Definition at line 53 of file TTreeCacheUnzip.h.

Collaboration diagram for TTreeCacheUnzip::UnzipState:
[legend]

The documentation for this struct was generated from the following files: