Skip to content

ludus::resources::Adapter

Ludus Wiki · API overview · Browse API

Struct

Explicit type adapter, copied at initialization. Context outlives the manager. Functions run on its sole control owner, must not reenter it, and never wait for worker/device completion. No client callbacks run inline during acquisition. The context owns all candidate/payload storage and its durable worker results.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

#include <ludus/runtime/resources/manager.h>
struct ludus::resources::Adapter final

Fields

Type

content::Kind ludus::resources::Adapter::Type = content::Kind::Sound
Exact supported catalog kind.

Related types: content::Kind

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Context

void* ludus::resources::Adapter::Context = nullptr
Application-owned composition context.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Peak

Cost ludus::resources::Adapter::Peak
Enforced reservation per admitted operation, including partial failures.

Related types: Cost

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Epoch

uint64(*) ludus::resources::Adapter::Epoch(void *) noexcept(void *) noexcept = nullptr
Nonzero subsystem session; must not wrap/reuse.

Related types: uint64

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Begin

Status(*) ludus::resources::Adapter::Begin(void *, const content::Resource &, void *&candidate) noexcept(void *, const content::Resource &, void *&candidate) noexcept = nullptr
Begin must preserve a null candidate on QueueFull (retry) or rejection. Pending/Ok accepts owned candidate storage. A failed begin may return an owned candidate, which will be retired. Resources are borrowed for this call.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Poll

Status(*) ludus::resources::Adapter::Poll(void *, void *candidate, const void *&payload) noexcept(void *, void *candidate, const void *&payload) noexcept = nullptr
Observe durable completion. Ok supplies a stable nonnull immutable payload; all other results leave it null. Failed work can still own a candidate.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Cancel

void(*) ludus::resources::Adapter::Cancel(void *, void *candidate) noexcept(void *, void *candidate) noexcept = nullptr
Idempotent nonblocking cancellation flag.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Retire

Status(*) ludus::resources::Adapter::Retire(void *, void *candidate) noexcept(void *, void *candidate) noexcept = nullptr
Idempotent begin/poll cleanup. Ok proves all candidate/payload allocations and submitted uses have physically drained; only then is storage reusable. Pending or an error retains ownership and budget for later service.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Validate

Status(*) ludus::resources::Adapter::Validate(void *, const void *payload) noexcept(void *, const void *payload) noexcept = nullptr
Ok only while payload remains usable.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

BeginBound

Status(*) ludus::resources::Adapter::BeginBound(void *, const content::Resource &, const DependencyView *, usize, void *&) noexcept(void *, const content::Resource &, const DependencyView *, usize, void *&) noexcept = nullptr
Optional dependency-aware begin. Required for a parent with resident edges; also usable for leaves when Begin is null. All children are ready before this call. The same candidate/error/retirement contract as Begin applies.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

MaxCandidates

uint32 ludus::resources::Adapter::MaxCandidates = 16
1..16 reserved candidate/resident slots for this exact Context/Type pair. Charged across this manager's snapshots until physical acknowledgment; the complete closure must fit before dispatch. Context composition must reserve this capacity exclusively for the manager; outside owners are not counted.

Related types: uint32

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h