Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::wsdb::WsdbScheduler Class Reference

#include <wsdb_scheduler.hpp>

Inheritance diagram for bb::wsdb::WsdbScheduler:

Classes

struct  Lane
 
struct  Op
 

Public Member Functions

 WsdbScheduler (bb::ThreadPool &pool, ipc::IpcServer &server)
 
void submit_read (uint64_t fork, bool committed, std::function< void()> work)
 
void submit_write (uint64_t fork, std::function< void()> work)
 

Private Member Functions

bool run_inline_if_idle (std::function< void()> &work)
 
void dispatch_unordered (std::function< void()> work)
 
void pump (uint64_t fork, Lane &lane)
 
void dispatch (uint64_t fork, Lane &lane, bool mutating)
 
void complete (uint64_t fork, bool mutating)
 

Private Attributes

bb::ThreadPoolpool_
 
ipc::IpcServerserver_
 
std::mutex mtx_
 
std::unordered_map< uint64_t, Lanelanes_
 
std::atomic< int > inflight_ { 0 }
 

Detailed Description

Definition at line 43 of file wsdb_scheduler.hpp.

Constructor & Destructor Documentation

◆ WsdbScheduler()

bb::wsdb::WsdbScheduler::WsdbScheduler ( bb::ThreadPool pool,
ipc::IpcServer server 
)
inline

Definition at line 45 of file wsdb_scheduler.hpp.

Member Function Documentation

◆ complete()

void bb::wsdb::WsdbScheduler::complete ( uint64_t  fork,
bool  mutating 
)
inlineprivate

Definition at line 152 of file wsdb_scheduler.hpp.

◆ dispatch()

void bb::wsdb::WsdbScheduler::dispatch ( uint64_t  fork,
Lane lane,
bool  mutating 
)
inlineprivate

Definition at line 137 of file wsdb_scheduler.hpp.

◆ dispatch_unordered()

void bb::wsdb::WsdbScheduler::dispatch_unordered ( std::function< void()>  work)
inlineprivate

Definition at line 105 of file wsdb_scheduler.hpp.

◆ pump()

void bb::wsdb::WsdbScheduler::pump ( uint64_t  fork,
Lane lane 
)
inlineprivate

Definition at line 118 of file wsdb_scheduler.hpp.

◆ run_inline_if_idle()

bool bb::wsdb::WsdbScheduler::run_inline_if_idle ( std::function< void()> &  work)
inlineprivate

Definition at line 96 of file wsdb_scheduler.hpp.

◆ submit_read()

void bb::wsdb::WsdbScheduler::submit_read ( uint64_t  fork,
bool  committed,
std::function< void()>  work 
)
inline

Definition at line 53 of file wsdb_scheduler.hpp.

◆ submit_write()

void bb::wsdb::WsdbScheduler::submit_write ( uint64_t  fork,
std::function< void()>  work 
)
inline

Definition at line 70 of file wsdb_scheduler.hpp.

Member Data Documentation

◆ inflight_

std::atomic<int> bb::wsdb::WsdbScheduler::inflight_ { 0 }
private

Definition at line 168 of file wsdb_scheduler.hpp.

◆ lanes_

std::unordered_map<uint64_t, Lane> bb::wsdb::WsdbScheduler::lanes_
private

Definition at line 167 of file wsdb_scheduler.hpp.

◆ mtx_

std::mutex bb::wsdb::WsdbScheduler::mtx_
private

Definition at line 166 of file wsdb_scheduler.hpp.

◆ pool_

bb::ThreadPool& bb::wsdb::WsdbScheduler::pool_
private

Definition at line 164 of file wsdb_scheduler.hpp.

◆ server_

ipc::IpcServer& bb::wsdb::WsdbScheduler::server_
private

Definition at line 165 of file wsdb_scheduler.hpp.


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