pub struct StorageSpec {
pub class: Option<StorageClass>,
pub selector: Option<String>,
pub volume: String,
pub params: BTreeMap<String, Value>,
pub replication: Replication,
pub complete: bool,
pub retention: Option<Value>,
pub gc_period_s: Option<u64>,
pub gc_margin: Option<f64>,
pub gc_lifespan_s: Option<i64>,
}Expand description
One storage of the deployment file. deny_unknown_fields, unlike the
volume: every key here is the convention’s, so a typo is a refusal rather
than a silently ignored intent.
Fields§
§class: Option<StorageClass>The class-driven selector (RFC 04 §4’s table). Exactly one of class
and selector.
selector: Option<String>A base-relative selector override, for a storage the class table does
not name (v1/*/state/sysinfo/** — a per-producer carve-out, say).
volume: StringThe volume id, declared under [volumes].
params: BTreeMap<String, Value>Backend parameters merged into the storage’s volume: { id: …, … }
block (dir, db…), verbatim.
replication: Replicationtrue for RFC 09 §2.2’s example parameters, or a table of your own.
complete: boolAsk for complete: true. Honoured only on a replicated, fully covering
latest storage (RFC 09 §2.2); refused, and said so, elsewhere.
retention: Option<Value>A backend retention block (redb, RFC 09 §2.1), verbatim.
gc_period_s: Option<u64>garbage_collection.period, seconds. Default 30, Zenoh’s own.
gc_margin: Option<f64>The margin over the longest covered ttl_s (RFC 09 §2.3). Default 2.0.
gc_lifespan_s: Option<i64>An explicit garbage_collection.lifespan, seconds — overrides the
derivation, and is warned about when it sits below the longest ttl_s
it has to cover.
Trait Implementations§
Source§impl Clone for StorageSpec
impl Clone for StorageSpec
Source§fn clone(&self) -> StorageSpec
fn clone(&self) -> StorageSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StorageSpec
impl Debug for StorageSpec
Source§impl Default for StorageSpec
impl Default for StorageSpec
Source§fn default() -> StorageSpec
fn default() -> StorageSpec
Source§impl<'de> Deserialize<'de> for StorageSpec
impl<'de> Deserialize<'de> for StorageSpec
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 StorageSpec
impl RefUnwindSafe for StorageSpec
impl Send for StorageSpec
impl Sync for StorageSpec
impl Unpin for StorageSpec
impl UnsafeUnpin for StorageSpec
impl UnwindSafe for StorageSpec
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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>,
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