15#include "barretenberg/wsdb/generated/wsdb_dispatch.hpp"
27template <
typename Resp,
typename Fn> std::function<void()>
wrap(Responder<Resp> respond, Fn&& logic)
32 }
catch (
const std::exception& e) {
33 respond.error(e.what());
43template <
typename Resp,
typename Fn>
50template <
typename Resp,
typename Fn>
void submit_write(uint64_t fork, std::function< void()> work)
void submit_read(uint64_t fork, bool committed, std::function< void()> work)
std::function< void()> wrap(Responder< Resp > respond, Fn &&logic)
void schedule_read(WsdbRequest &ctx, uint64_t fork, bool committed, Responder< Resp > respond, Fn &&logic)
Run a read on fork and respond. committed true => independent snapshot, never ordered; false => waits...
void schedule_write(WsdbRequest &ctx, uint64_t fork, Responder< Resp > respond, Fn &&logic)
Run a write on fork (exclusive on that fork) and respond.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
WsdbScheduler * scheduler
Service-level context passed to every wsdb handler.
Server-side per-fork ordering for the concurrent wsdb.