An active entry token is a pledge for the data of a certain entry number not to be evicted from the page cache or cluster cache.
An active entry token is linked to a specific reader through a control block shared by the reader and all tokens of that reader. Active entry tokens can be destructed before or after their reader is destructed. Once the corresponding reader is destructed, changing the entry number has no effect. Only the RNTuple reader can create an active entry token.
Definition at line 160 of file RNTupleReader.hxx.
Public Member Functions | |
| RActiveEntryToken (const RActiveEntryToken &other) | |
| RActiveEntryToken (RActiveEntryToken &&other) | |
| ~RActiveEntryToken () | |
| NTupleSize_t | GetEntryNumber () const |
| RActiveEntryToken & | operator= (const RActiveEntryToken &other) |
| RActiveEntryToken & | operator= (RActiveEntryToken &&other) |
| void | Reset () |
| Release the entry number, i.e. | |
| void | SetEntryNumber (NTupleSize_t entryNumber) |
| Set or replace the entry number. | |
Private Member Functions | |
| RActiveEntryToken (std::shared_ptr< RActiveEntriesControlBlock > ptrControlBlock) | |
| void | ActivateEntry (NTupleSize_t entryNumber) |
| void | DeactivateEntry (NTupleSize_t entryNumber) |
Private Attributes | |
| NTupleSize_t | fEntryNumber = kInvalidNTupleIndex |
| std::shared_ptr< RActiveEntriesControlBlock > | fPtrControlBlock |
Friends | |
| class | RNTupleReader |
#include <ROOT/RNTupleReader.hxx>
|
inlineexplicitprivate |
Definition at line 169 of file RNTupleReader.hxx.
|
inline |
Definition at line 175 of file RNTupleReader.hxx.
| ROOT::RNTupleReader::RActiveEntryToken::RActiveEntryToken | ( | const RActiveEntryToken & | other | ) |
Definition at line 82 of file RNTupleReader.cxx.
| ROOT::RNTupleReader::RActiveEntryToken::RActiveEntryToken | ( | RActiveEntryToken && | other | ) |
Definition at line 88 of file RNTupleReader.cxx.
|
private |
Definition at line 27 of file RNTupleReader.cxx.
|
private |
Definition at line 39 of file RNTupleReader.cxx.
|
inline |
Definition at line 181 of file RNTupleReader.hxx.
| ROOT::RNTupleReader::RActiveEntryToken & ROOT::RNTupleReader::RActiveEntryToken::operator= | ( | const RActiveEntryToken & | other | ) |
Definition at line 97 of file RNTupleReader.cxx.
| ROOT::RNTupleReader::RActiveEntryToken & ROOT::RNTupleReader::RActiveEntryToken::operator= | ( | RActiveEntryToken && | other | ) |
Definition at line 109 of file RNTupleReader.cxx.
| void ROOT::RNTupleReader::RActiveEntryToken::Reset | ( | ) |
Release the entry number, i.e.
allow the corresponding data to be evicted from caches. Called implicitly on destruction.
Definition at line 70 of file RNTupleReader.cxx.
| void ROOT::RNTupleReader::RActiveEntryToken::SetEntryNumber | ( | NTupleSize_t | entryNumber | ) |
Set or replace the entry number.
If the entry number is replaced, the cluster corresponding to the new entry is pinned before the cluster of the old entry number is unpinned. SetEntryNumber() should be called before the corresponding entry is used (through LoadEntry() or views).
Definition at line 56 of file RNTupleReader.cxx.
|
friend |
Definition at line 161 of file RNTupleReader.hxx.
|
private |
Definition at line 164 of file RNTupleReader.hxx.
|
private |
Definition at line 163 of file RNTupleReader.hxx.