pub struct ScentField {
pub scents: Vec<Scent>,
pub schema_version: u32,
pub claims_rejected: u64,
}Fields§
§scents: Vec<Scent>§schema_version: u32§claims_rejected: u64Lifetime count of rejected claims (#549): every rejection is a piece of duplicate work the field prevented — the efficacy currency of #540.
Implementations§
Source§impl ScentField
impl ScentField
Sourcepub fn gc(&mut self, now: u64)
pub fn gc(&mut self, now: u64)
Drop scents whose effective intensity fell below the GC threshold.
Sourcepub fn deposit(
&mut self,
agent_id: &str,
kind: ScentKind,
target: &str,
intensity: f64,
now: u64,
)
pub fn deposit( &mut self, agent_id: &str, kind: ScentKind, target: &str, intensity: f64, now: u64, )
Superpose a deposit: same (agent, kind, target) folds into one scent with summed effective intensity (capped), fresh timestamp.
Sourcepub fn foreign_claim(
&self,
target: &str,
self_agent: &str,
now: u64,
) -> Option<(String, u64)>
pub fn foreign_claim( &self, target: &str, self_agent: &str, now: u64, ) -> Option<(String, u64)>
Active foreign claim on target, if any: returns (agent_id, age_secs).
Sourcepub fn render_sync(&self, now: u64) -> String
pub fn render_sync(&self, now: u64) -> String
Arithmetic sync view: targets grouped, intensities superposed across agents, sorted by total intensity, capped at SYNC_TOP_K lines.
Trait Implementations§
Source§impl Clone for ScentField
impl Clone for ScentField
Source§fn clone(&self) -> ScentField
fn clone(&self) -> ScentField
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ScentField
impl Debug for ScentField
Source§impl Default for ScentField
impl Default for ScentField
Source§fn default() -> ScentField
fn default() -> ScentField
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ScentField
impl<'de> Deserialize<'de> for ScentField
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ScentField
impl RefUnwindSafe for ScentField
impl Send for ScentField
impl Sync for ScentField
impl Unpin for ScentField
impl UnsafeUnpin for ScentField
impl UnwindSafe for ScentField
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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