pub struct KvConfig {
pub slatedb: Option<SlatedbKvConfig>,
pub sql: Option<SqlKvConfig>,
}Expand description
[serve.kv] — control-plane KV configuration. The backend itself is selected by --kv /
BOATRAMP_KV (slatedb default, sql, memory, cloudflare); this block holds the
backend-specific settings, nested so a knob can never silently mislead under the wrong backend
(UX-C3): the SlateDB durability knobs live under slatedb, and the SQL
connection under sql. Absent block ⇒ the SlateDB defaults apply.
Fields§
§slatedb: Option<SlatedbKvConfig>[serve.kv.slatedb] — SlateDB-specific durability knobs (checkpoint cadence + close budget).
Nested under slatedb (UX-C3) so they don’t appear to apply under --kv sql / --kv memory.
Absent ⇒ both defaults (checkpoint cadence ON, generous close budget).
sql: Option<SqlKvConfig>[serve.kv.sql] — the SQL KV backend’s connection (--kv sql). Absent under --kv sql ⇒ the
backend is configured entirely by the BOATRAMP_KV_SQL_* env (resolved at serve wiring).
Implementations§
Source§impl KvConfig
impl KvConfig
Sourcepub fn checkpoint_interval(&self) -> Option<Duration>
pub fn checkpoint_interval(&self) -> Option<Duration>
The resolved periodic-checkpoint interval (SlateDB): None ⇒ cadence DISABLED (explicit 0);
else the configured seconds, or DEFAULT_KV_CHECKPOINT_INTERVAL_SECS when unset/absent.
Sourcepub fn close_deadline(&self) -> Duration
pub fn close_deadline(&self) -> Duration
The resolved graceful-close budget (SlateDB). A configured 0 (or unset/absent) falls back to
DEFAULT_KV_CLOSE_DEADLINE_SECS — the budget must be positive so a genuinely-wedged close
still cannot hang shutdown forever, while never being the too-tight 3s that caused the incident.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for KvConfig
impl<'de> Deserialize<'de> for KvConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for KvConfig
impl RefUnwindSafe for KvConfig
impl Send for KvConfig
impl Sync for KvConfig
impl Unpin for KvConfig
impl UnsafeUnpin for KvConfig
impl UnwindSafe for KvConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more