pub struct ReputationScore {
pub transfer_success_rate: f64,
pub latency_score: f64,
pub protocol_compliance_score: f64,
pub uptime_score: f64,
pub successful_transfers: u64,
pub failed_transfers: u64,
pub protocol_violations: u64,
pub average_latency_ms: u64,
pub total_uptime: Duration,
pub last_seen: Instant,
pub first_seen: Instant,
}Expand description
Reputation score for a peer
Fields§
§transfer_success_rate: f64Transfer success rate (0.0-1.0)
latency_score: f64Latency score (0.0-1.0, higher is better)
protocol_compliance_score: f64Protocol compliance score (0.0-1.0)
uptime_score: f64Uptime score (0.0-1.0)
successful_transfers: u64Number of successful transfers
failed_transfers: u64Number of failed transfers
protocol_violations: u64Number of protocol violations
average_latency_ms: u64Average latency in milliseconds
total_uptime: DurationTotal uptime duration (in seconds, serializable)
last_seen: InstantLast seen timestamp (skipped in serialization)
first_seen: InstantFirst seen timestamp (skipped in serialization)
Implementations§
Source§impl ReputationScore
impl ReputationScore
Sourcepub fn overall_score(&self, config: &ReputationConfig) -> f64
pub fn overall_score(&self, config: &ReputationConfig) -> f64
Calculate overall reputation score using weighted average
Trait Implementations§
Source§impl Clone for ReputationScore
impl Clone for ReputationScore
Source§fn clone(&self) -> ReputationScore
fn clone(&self) -> ReputationScore
Returns a duplicate of the value. Read more
1.0.0 · 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 ReputationScore
impl Debug for ReputationScore
Source§impl Default for ReputationScore
impl Default for ReputationScore
Source§impl<'de> Deserialize<'de> for ReputationScore
impl<'de> Deserialize<'de> for ReputationScore
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 ReputationScore
impl RefUnwindSafe for ReputationScore
impl Send for ReputationScore
impl Sync for ReputationScore
impl Unpin for ReputationScore
impl UnwindSafe for ReputationScore
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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