pub struct ExecutionPolicy {
pub schema: String,
pub max_attempts_per_decision: u64,
pub cost: CostPolicy,
pub optimization: Option<OptimizationPolicy>,
pub steps: Vec<StepExecution>,
}Fields§
§schema: String§max_attempts_per_decision: u64Worst-case backend attempts of one decision, over every request, retry and fallback.
cost: CostPolicy§optimization: Option<OptimizationPolicy>Optional reusable-work policy (spec 017). Its absence preserves the version 1 policy bytes and unoptimized behavior.
steps: Vec<StepExecution>At most one entry per semantic step; an unlisted step gets one attempt, no timeout and no fallback.
Trait Implementations§
Source§impl Clone for ExecutionPolicy
impl Clone for ExecutionPolicy
Source§impl Debug for ExecutionPolicy
impl Debug for ExecutionPolicy
Source§impl<'de> Deserialize<'de> for ExecutionPolicy
impl<'de> Deserialize<'de> for ExecutionPolicy
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 Document for ExecutionPolicy
impl Document for ExecutionPolicy
Source§const SCHEMA: &'static str = schema::EXECUTION
const SCHEMA: &'static str = schema::EXECUTION
The schema string this document carries (spec 002, 3.2.1).
Source§const LIMITS: ParseLimits = DESCRIPTOR_V1
const LIMITS: ParseLimits = DESCRIPTOR_V1
The limit set its bytes are scanned against (spec 002, 3.2.5).
Source§fn parse(bytes: &[u8]) -> Result<Self, DocumentError>
fn parse(bytes: &[u8]) -> Result<Self, DocumentError>
Scan, deserialize and check the schema string.
Source§fn record_canonical(&self) -> Result<Vec<u8>, CanonicalError>where
Self: PartialEq,
fn record_canonical(&self) -> Result<Vec<u8>, CanonicalError>where
Self: PartialEq,
The record canonical bytes (spec 004, 5.6): the canonical bytes, with
finite fractional numbers written in shortest round-trip form.
Source§fn record_digest(&self) -> Result<ContentDigest, CanonicalError>where
Self: PartialEq,
fn record_digest(&self) -> Result<ContentDigest, CanonicalError>where
Self: PartialEq,
sha256(SCHEMA || 0x00 || record canonical bytes) (spec 004, 3.1.6).
Equal to the identity of an identified document.impl Eq for ExecutionPolicy
Source§impl Identified for ExecutionPolicy
impl Identified for ExecutionPolicy
type Id = ExecutionPolicyId
Source§impl JsonSchema for ExecutionPolicy
impl JsonSchema for ExecutionPolicy
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 ExecutionPolicy
impl PartialEq for ExecutionPolicy
Source§impl Serialize for ExecutionPolicy
impl Serialize for ExecutionPolicy
impl StructuralPartialEq for ExecutionPolicy
Auto Trait Implementations§
impl Freeze for ExecutionPolicy
impl RefUnwindSafe for ExecutionPolicy
impl Send for ExecutionPolicy
impl Sync for ExecutionPolicy
impl Unpin for ExecutionPolicy
impl UnsafeUnpin for ExecutionPolicy
impl UnwindSafe for ExecutionPolicy
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