pub struct ResourceDefinition {
pub name: String,
pub kind: String,
pub endpoint: String,
pub capacity: Option<i64>,
pub lifetime: String,
pub certainty_floor: Option<f64>,
pub shield_ref: String,
pub within: String,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
resource Name { kind, endpoint, capacity, lifetime, certainty_floor, shield }
An infrastructure resource declared as a linear, affine, or persistent
token. Linear/affine resources cannot be aliased across manifests
(Separation Logic * disjointness).
Fields§
§name: String§kind: String§Fase 113 — a CLOSED catalog (VALID_RESOURCE_KINDS). Until §113 this
was a free string that nothing validated: check_resource never
read it, and no catalog const existed anywhere in the workspace.
endpoint: String§Fase 113 — the DSN, as a per-tenant config key (axon-T944).
A production DB URI in source is exactly what axon-T850 already
forbids one declaration over (“URLs and credentials never appear in
source”) and what §94 custody exists to refuse. resource was a
grandfathered violation of the language’s own law.
capacity: Option<i64>§Fase 113 — the pool size, and the proof this fase is a wire and not a label. Before §113 every axonstore pool was hardcoded at 10.
lifetime: String§Fase 113 — how many holders may name this resource (Linear Logic):
linear = exactly one · affine = at most one (sharing is a breach) ·
persistent = the ! exponential, freely shared. Default: affine.
certainty_floor: Option<f64>§shield_ref: String§within: String§Fase 113 — the fabric this resource lives in. One field ⇒
Separation-Logic disjointness is unrepresentable, not verified.
loc: Loc§leading_trivia: Vec<Trivia>Fase 14.b — leading comment trivia attached to this declaration (comments preceding the declaration’s first token, since the previous declaration or file start). Empty by default.
trailing_trivia: Vec<Trivia>Fase 14.b — trailing comment trivia (same line as the declaration’s last effective token). Empty by default.
Trait Implementations§
Source§impl Debug for ResourceDefinition
impl Debug for ResourceDefinition
Source§impl Default for ResourceDefinition
impl Default for ResourceDefinition
Source§fn default() -> ResourceDefinition
fn default() -> ResourceDefinition
Auto Trait Implementations§
impl Freeze for ResourceDefinition
impl RefUnwindSafe for ResourceDefinition
impl Send for ResourceDefinition
impl Sync for ResourceDefinition
impl Unpin for ResourceDefinition
impl UnsafeUnpin for ResourceDefinition
impl UnwindSafe for ResourceDefinition
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
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