The Pedigree Project 0.1
Static Public Member Functions | Static Public Attributes | Static Private Member Functions | Friends | List of all members
DiskEndpoints Class Reference

#include <DiskPaging.h>

+ Collaboration diagram for DiskEndpoints:

Static Public Member Functions

static bool acquire (uint32_t id, DiskUse &use)
 
static size_t snapshot (uint32_t *ids, size_t capacity)
 
static bool describe (uint32_t id, uint64_t &bytes)
 
static PagingStatus prepare (uint32_t id, PagingChannel &channel)
 

Static Public Attributes

static constexpr size_t Capacity = 64
 

Static Private Member Functions

static DiskEndpointreserve (Disk *disk)
 
static void publish (DiskEndpoint *endpoint)
 
static bool acquire (DiskEndpoint *endpoint, Disk *disk, DiskUse &use)
 
static uint32_t id (DiskEndpoint *endpoint, Disk *disk)
 
static void retire (DiskEndpoint *endpoint, Disk *disk)
 
static bool tryClose (DiskEndpoint *endpoint, Disk *disk)
 
static void reopen (DiskEndpoint *endpoint, Disk *disk)
 

Friends

class Disk
 

Detailed Description

Numeric identities never repeat, including after removal. Registry storage supports 64 simultaneous physical endpoints; exhaustion only disables new physical selectors and paging, leaving ordinary driver I/O available.

Definition at line 87 of file DiskPaging.h.

Member Function Documentation

◆ acquire() [1/2]

bool DiskEndpoints::acquire ( DiskEndpoint endpoint,
Disk disk,
DiskUse use 
)
staticprivate

Definition at line 102 of file DiskPaging.cc.

◆ acquire() [2/2]

bool DiskEndpoints::acquire ( uint32_t  id,
DiskUse use 
)
static

Definition at line 112 of file DiskPaging.cc.

◆ describe()

bool DiskEndpoints::describe ( uint32_t  id,
uint64_t &  bytes 
)
static

Definition at line 131 of file DiskPaging.cc.

◆ id()

uint32_t DiskEndpoints::id ( DiskEndpoint endpoint,
Disk disk 
)
staticprivate

Definition at line 127 of file DiskPaging.cc.

◆ prepare()

PagingStatus DiskEndpoints::prepare ( uint32_t  id,
PagingChannel channel 
)
static

Definition at line 190 of file DiskPaging.cc.

◆ publish()

void DiskEndpoints::publish ( DiskEndpoint endpoint)
staticprivate

Definition at line 93 of file DiskPaging.cc.

◆ reopen()

void DiskEndpoints::reopen ( DiskEndpoint endpoint,
Disk disk 
)
staticprivate

Definition at line 161 of file DiskPaging.cc.

◆ reserve()

DiskEndpoint * DiskEndpoints::reserve ( Disk disk)
staticprivate

Definition at line 78 of file DiskPaging.cc.

◆ retire()

void DiskEndpoints::retire ( DiskEndpoint endpoint,
Disk disk 
)
staticprivate

Definition at line 166 of file DiskPaging.cc.

◆ snapshot()

size_t DiskEndpoints::snapshot ( uint32_t *  ids,
size_t  capacity 
)
static

Definition at line 142 of file DiskPaging.cc.

◆ tryClose()

bool DiskEndpoints::tryClose ( DiskEndpoint endpoint,
Disk disk 
)
staticprivate

Definition at line 153 of file DiskPaging.cc.

Friends And Related Symbol Documentation

◆ Disk

friend class Disk
friend

Definition at line 96 of file DiskPaging.h.

Member Data Documentation

◆ Capacity

constexpr size_t DiskEndpoints::Capacity = 64
staticconstexpr

Definition at line 89 of file DiskPaging.h.


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