Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
database::integrated::adapters::backends::null_thread_backend Class Reference

Synchronous thread backend (no threading) More...

#include <null_thread_backend.h>

Inheritance diagram for database::integrated::adapters::backends::null_thread_backend:
Inheritance graph
Collaboration diagram for database::integrated::adapters::backends::null_thread_backend:
Collaboration graph

Public Member Functions

 null_thread_backend (const db_thread_config &)
 
 ~null_thread_backend () override=default
 
common::VoidResult initialize () override
 Initialize the thread backend.
 
common::VoidResult shutdown () override
 Shutdown the thread backend gracefully.
 
bool is_initialized () const override
 Check if backend is initialized.
 
common::VoidResult execute (std::function< void()> task) override
 Execute a task (fire-and-forget)
 
void wait_for_completion () override
 Wait for all pending tasks to complete.
 
bool wait_for_completion_timeout (std::chrono::milliseconds) override
 Wait for completion with timeout.
 
std::size_t worker_count () const override
 Get number of worker threads.
 
std::size_t queue_size () const override
 Get current queue size.
 
bool is_idle () const override
 Check if thread pool is idle.
 
- Public Member Functions inherited from database::integrated::adapters::backends::thread_backend
virtual ~thread_backend ()=default
 

Detailed Description

Synchronous thread backend (no threading)

This backend executes all tasks synchronously on the calling thread. Useful for testing and debugging.

Definition at line 36 of file null_thread_backend.h.

Constructor & Destructor Documentation

◆ null_thread_backend()

database::integrated::adapters::backends::null_thread_backend::null_thread_backend ( const db_thread_config & )
inlineexplicit

Definition at line 39 of file null_thread_backend.h.

39{}

◆ ~null_thread_backend()

database::integrated::adapters::backends::null_thread_backend::~null_thread_backend ( )
overridedefault

Member Function Documentation

◆ execute()

common::VoidResult database::integrated::adapters::backends::null_thread_backend::execute ( std::function< void()> task)
inlineoverridevirtual

Execute a task (fire-and-forget)

Parameters
taskTask to execute
Returns
VoidResult::ok() on successful submission

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 57 of file null_thread_backend.h.

58 {
59 // Execute synchronously on calling thread
60 if (task)
61 {
62 task();
63 }
64 return common::ok();
65 }
VoidResult ok()

References common::ok().

Here is the call graph for this function:

◆ initialize()

common::VoidResult database::integrated::adapters::backends::null_thread_backend::initialize ( )
inlineoverridevirtual

Initialize the thread backend.

Returns
VoidResult::ok() on success, error on failure

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 42 of file null_thread_backend.h.

43 {
44 return common::ok();
45 }

References common::ok().

Here is the call graph for this function:

◆ is_idle()

bool database::integrated::adapters::backends::null_thread_backend::is_idle ( ) const
inlineoverridevirtual

Check if thread pool is idle.

Returns
true if no pending or running tasks

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 88 of file null_thread_backend.h.

89 {
90 return true; // Always idle
91 }

◆ is_initialized()

bool database::integrated::adapters::backends::null_thread_backend::is_initialized ( ) const
inlineoverridevirtual

Check if backend is initialized.

Returns
true if initialized and ready

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 52 of file null_thread_backend.h.

53 {
54 return true;
55 }

◆ queue_size()

std::size_t database::integrated::adapters::backends::null_thread_backend::queue_size ( ) const
inlineoverridevirtual

Get current queue size.

Returns
Number of pending tasks

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 83 of file null_thread_backend.h.

84 {
85 return 0; // No queue
86 }

◆ shutdown()

common::VoidResult database::integrated::adapters::backends::null_thread_backend::shutdown ( )
inlineoverridevirtual

Shutdown the thread backend gracefully.

Returns
VoidResult::ok() on success, error on failure

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 47 of file null_thread_backend.h.

48 {
49 return common::ok();
50 }

References common::ok().

Here is the call graph for this function:

◆ wait_for_completion()

void database::integrated::adapters::backends::null_thread_backend::wait_for_completion ( )
inlineoverridevirtual

Wait for all pending tasks to complete.

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 67 of file null_thread_backend.h.

68 {
69 // No-op: tasks already completed synchronously
70 }

◆ wait_for_completion_timeout()

bool database::integrated::adapters::backends::null_thread_backend::wait_for_completion_timeout ( std::chrono::milliseconds timeout)
inlineoverridevirtual

Wait for completion with timeout.

Parameters
timeoutMaximum wait time
Returns
true if all tasks completed, false if timeout

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 72 of file null_thread_backend.h.

73 {
74 // No-op: tasks already completed
75 return true;
76 }

◆ worker_count()

std::size_t database::integrated::adapters::backends::null_thread_backend::worker_count ( ) const
inlineoverridevirtual

Get number of worker threads.

Returns
Worker count

Implements database::integrated::adapters::backends::thread_backend.

Definition at line 78 of file null_thread_backend.h.

79 {
80 return 0; // No worker threads
81 }

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