ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex::pipeline::InMemoryJobStore Class Referencefinal

The in-memory store: bounded per queue, nothing survives a restart. More...

#include <JobStore.hpp>

Inheritance diagram for reusex::pipeline::InMemoryJobStore:
Collaboration diagram for reusex::pipeline::InMemoryJobStore:

Public Member Functions

 InMemoryJobStore (std::size_t max_terminal_jobs=256)
 ~InMemoryJobStore () override
void save (std::string_view queue, const JobRecord &record) override
 Insert record under queue, or replace the record with the same id.
std::optional< JobRecord > find (std::string_view queue, std::string_view id) const override
 One record, or nullopt when id is unknown in queue (or was evicted by the store's retention policy).
std::vector< JobRecord > list (std::string_view queue) const override
 Every retained record of queue, most recently submitted first.
void forget (std::string_view queue) override
 Drop every record of queue (its case was deleted, and a new case may reuse the key).
Public Member Functions inherited from reusex::pipeline::IJobStore
virtual ~IJobStore ()=default

Detailed Description

The in-memory store: bounded per queue, nothing survives a restart.

Retention is the one JobRunner always had (#286): terminal records past max_terminal_jobs per queue are dropped oldest-first by submission order; queued and running records are never dropped.

Definition at line 61 of file JobStore.hpp.

Constructor & Destructor Documentation

◆ InMemoryJobStore()

reusex::pipeline::InMemoryJobStore::InMemoryJobStore ( std::size_t max_terminal_jobs = 256)
explicit

◆ ~InMemoryJobStore()

reusex::pipeline::InMemoryJobStore::~InMemoryJobStore ( )
override

Member Function Documentation

◆ find()

std::optional< JobRecord > reusex::pipeline::InMemoryJobStore::find ( std::string_view queue,
std::string_view id ) const
overridevirtual

One record, or nullopt when id is unknown in queue (or was evicted by the store's retention policy).

Implements reusex::pipeline::IJobStore.

◆ forget()

void reusex::pipeline::InMemoryJobStore::forget ( std::string_view queue)
overridevirtual

Drop every record of queue (its case was deleted, and a new case may reuse the key).

Unknown queues are ignored.

Implements reusex::pipeline::IJobStore.

◆ list()

std::vector< JobRecord > reusex::pipeline::InMemoryJobStore::list ( std::string_view queue) const
overridevirtual

Every retained record of queue, most recently submitted first.

Implements reusex::pipeline::IJobStore.

◆ save()

void reusex::pipeline::InMemoryJobStore::save ( std::string_view queue,
const JobRecord & record )
overridevirtual

Insert record under queue, or replace the record with the same id.

Called at every state transition, never for progress ticks.

Implements reusex::pipeline::IJobStore.


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