Lumiera
0.pre.03
»edit your freedom«
|
#include "vault/gear/block-flow.hpp"
Local handle to allow allocating a collection of Activities, all sharing a common deadline.
Internally, these records are maintained in fixed-sized extents and thus allocations may overflow — leading to allocation of further extents. However, this extension is handled transparently by the embedded iterator. Moreover, a back-connection to the BlockFlow instance is maintained, enabling the latter to manage the Epoch spacing dynamically.
Definition at line 456 of file block-flow.hpp.
Public Member Functions | |
AllocatorHandle (RawIter slot, BlockFlow *parent) | |
template<typename... ARGS> | |
Activity & | create (ARGS &&...args) |
Main API operation: allocate a new Activity record. | |
Time | currDeadline () const |
bool | hasFreeSlot () const |
Private Member Functions | |
void * | claimSlot () |
Private Attributes | |
EpochIter | epoch_ |
BlockFlow * | flow_ |