Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
Epoch< ALO > Class Template Reference

#include "vault/gear/block-flow.hpp"

Description

template<class ALO>
class vault::gear::blockFlow::Epoch< ALO >

Allocation Extent holding scheduler Activities to be performed altogether before a common deadline.

Other than the underlying raw Extent, the Epoch maintains a deadline time and keeps track of storage slots already claimed. This is achieved by using the Activity record in the first slot as a GATE term to maintain those administrative information.

Remarks
rationale is to discard the Extent as a whole, once deadline passed.

Definition at line 224 of file block-flow.hpp.

Classes

struct  EpochGate
 specifically rigged GATE Activity, used for managing Epoch metadata More...
 

Static Public Member Functions

static EpochimplantInto (RawIter storageSlot)
 
static Epochsetup (RawIter storageSlot, Time deadline)
 

Public Member Functions

EpochGategate ()
 
Time deadline ()
 
double getFillFactor ()
 

Private Types

using RawIter = ALO::iterator
 
using SIZ = ALO::Extent::SIZ
 

Private Member Functions

 Epoch ()=delete
 

Constructor & Destructor Documentation

◆ Epoch()

template<class ALO >
Epoch ( )
privatedelete
Warning
will be faked, never constructed

Member Typedef Documentation

◆ RawIter

template<class ALO >
using RawIter = ALO::iterator
private

Definition at line 227 of file block-flow.hpp.

◆ SIZ

template<class ALO >
using SIZ = ALO::Extent::SIZ
private

Definition at line 228 of file block-flow.hpp.

Member Function Documentation

◆ gate()

template<class ALO >
EpochGate & gate ( )
inline

Definition at line 295 of file block-flow.hpp.

Referenced by Epoch< ALO >::deadline(), Epoch< ALO >::getFillFactor(), and Epoch< ALO >::setup().

+ Here is the caller graph for this function:

◆ deadline()

template<class ALO >
Time deadline ( )
inline

Definition at line 296 of file block-flow.hpp.

References Epoch< ALO >::EpochGate::deadline(), and Epoch< ALO >::gate().

Referenced by BlockFlow< CONF >::AllocatorHandle::claimSlot(), FlowDiagnostic< CONF >::first(), FlowDiagnostic< CONF >::last(), Epoch< ALO >::setup(), and BlockFlow< CONF >::until().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFillFactor()

template<class ALO >
double getFillFactor ( )
inline

Definition at line 299 of file block-flow.hpp.

References Epoch< ALO >::gate().

+ Here is the call graph for this function:

◆ implantInto()

template<class ALO >
static Epoch & implantInto ( RawIter  storageSlot)
inlinestatic

Definition at line 306 of file block-flow.hpp.

Referenced by Epoch< ALO >::setup().

+ Here is the caller graph for this function:

◆ setup()

template<class ALO >
static Epoch & setup ( RawIter  storageSlot,
Time  deadline 
)
inlinestatic

Definition at line 314 of file block-flow.hpp.

References Epoch< ALO >::EpochGate::deadline(), Epoch< ALO >::deadline(), Epoch< ALO >::gate(), and Epoch< ALO >::implantInto().

Referenced by BlockFlow< CONF >::AllocatorHandle::claimSlot(), and BlockFlow< CONF >::until().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
+ Inheritance diagram for Epoch< ALO >:
+ Collaboration diagram for Epoch< ALO >:

The documentation for this class was generated from the following file: