pub struct EconomicsPublicationPolicy {
pub min_valid_pairs: usize,
pub min_categories: usize,
pub min_pairs_per_category: usize,
pub min_repetitions: u32,
pub min_valid_pair_rate_bp: u32,
pub max_interval_width_bp: u32,
pub require_current: bool,
}Expand description
When a quantitative total-token claim may be published. Every threshold must hold.
use majordomus_cli::economics::model::EconomicsPublicationPolicy;
let rule = serde_json::json!({
"min_valid_pairs": 30, "min_categories": 4, "min_pairs_per_category": 5,
"min_repetitions": 3, "min_valid_pair_rate_bp": 8000, "max_interval_width_bp": 2000,
"require_current": true
});
let p: EconomicsPublicationPolicy = serde_json::from_value(rule.clone()).unwrap();
assert!(p.require_current && p.min_valid_pairs == 30);
let mut lax = rule;
lax.as_object_mut().unwrap().remove("require_current");
assert!(serde_json::from_value::<EconomicsPublicationPolicy>(lax).is_err(), "no default");Fields§
§min_valid_pairs: usizeValid matched pairs, at least.
min_categories: usizeTask categories with enough pairs, at least.
min_pairs_per_category: usizePairs a category needs to count towards min_categories.
min_repetitions: u32Repetitions of every task and variant, at least.
min_valid_pair_rate_bp: u32Valid pairs over attempted pairs, in basis points, at least.
max_interval_width_bp: u32Width of the interval, in basis points of reduction, at most.
require_current: boolWhether the evidence must be current (its mechanism unchanged since it was recorded).
Trait Implementations§
Source§impl Clone for EconomicsPublicationPolicy
impl Clone for EconomicsPublicationPolicy
Source§fn clone(&self) -> EconomicsPublicationPolicy
fn clone(&self) -> EconomicsPublicationPolicy
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 EconomicsPublicationPolicy
impl Debug for EconomicsPublicationPolicy
Source§impl<'de> Deserialize<'de> for EconomicsPublicationPolicy
impl<'de> Deserialize<'de> for EconomicsPublicationPolicy
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 EconomicsPublicationPolicy
impl JsonSchema for EconomicsPublicationPolicy
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 inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for EconomicsPublicationPolicy
impl PartialEq for EconomicsPublicationPolicy
Source§fn eq(&self, other: &EconomicsPublicationPolicy) -> bool
fn eq(&self, other: &EconomicsPublicationPolicy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for EconomicsPublicationPolicy
Auto Trait Implementations§
impl Freeze for EconomicsPublicationPolicy
impl RefUnwindSafe for EconomicsPublicationPolicy
impl Send for EconomicsPublicationPolicy
impl Sync for EconomicsPublicationPolicy
impl Unpin for EconomicsPublicationPolicy
impl UnsafeUnpin for EconomicsPublicationPolicy
impl UnwindSafe for EconomicsPublicationPolicy
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