#[non_exhaustive]pub struct DetailedNodePerformanceV2 {
pub performance_score: f64,
pub routing_score: RoutingScore,
pub config_score: ConfigScoreV2,
pub stress_testing_score: StressTestingScore,
pub liveness_score: LivenessScore,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.performance_score: f64The node’s overall performance.
A weighted mean, not a product: each enabled component contributes its own weight and
routing_score * config_score takes whatever weight is left over. With every component
disabled it is exactly routing_score * config_score.
routing_score: RoutingScore§config_score: ConfigScoreV2§stress_testing_score: StressTestingScore§liveness_score: LivenessScoreThe node’s aggregated liveness score. Always reported, whether or not it is currently
folded into performance_score - it is served so that the divergence between it and
routing_score can be measured while liveness carries zero weight.
Implementations§
Source§impl DetailedNodePerformanceV2
impl DetailedNodePerformanceV2
pub fn new( performance_score: f64, routing_score: RoutingScore, config_score: ConfigScoreV2, stress_testing_score: StressTestingScore, liveness_score: LivenessScore, ) -> DetailedNodePerformanceV2
pub fn to_rewarding_performance(&self) -> Performance
Trait Implementations§
Source§impl Clone for DetailedNodePerformanceV2
impl Clone for DetailedNodePerformanceV2
Source§impl ComposeSchema for DetailedNodePerformanceV2
impl ComposeSchema for DetailedNodePerformanceV2
impl Copy for DetailedNodePerformanceV2
Source§impl Debug for DetailedNodePerformanceV2
impl Debug for DetailedNodePerformanceV2
Source§impl Default for DetailedNodePerformanceV2
impl Default for DetailedNodePerformanceV2
Source§impl<'de> Deserialize<'de> for DetailedNodePerformanceV2
impl<'de> Deserialize<'de> for DetailedNodePerformanceV2
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
Source§impl JsonSchema for DetailedNodePerformanceV2
impl JsonSchema for DetailedNodePerformanceV2
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for DetailedNodePerformanceV2
impl RefUnwindSafe for DetailedNodePerformanceV2
impl Send for DetailedNodePerformanceV2
impl Sync for DetailedNodePerformanceV2
impl Unpin for DetailedNodePerformanceV2
impl UnsafeUnpin for DetailedNodePerformanceV2
impl UnwindSafe for DetailedNodePerformanceV2
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,
Source§impl<T> Deprecatable for T
impl<T> Deprecatable for T
fn deprecate(self) -> Deprecated<Self>where
Self: Sized,
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> ⓘ
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 moreSource§impl<T> OptionalSet for T
impl<T> OptionalSet for T
Source§fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_validated_optional<F, T, V, E>(
self,
f: F,
value: Option<T>,
validate: V,
) -> Result<Self, E>
fn with_validated_optional<F, T, V, E>( self, f: F, value: Option<T>, validate: V, ) -> Result<Self, E>
If the value is available (i.e.
Some) it is validated and then the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the FromStr implementation and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.Source§fn with_optional_custom_env<F, T, G>(
self,
f: F,
val: Option<T>,
env_var: &str,
parser: G,
) -> Self
fn with_optional_custom_env<F, T, G>( self, f: F, val: Option<T>, env_var: &str, parser: G, ) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the provided parser and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.