pub struct ClientConfig {Show 22 fields
pub endpoint: String,
pub backend_id: String,
pub endpoint_class: String,
pub bearer: Option<Secret>,
pub tls: Option<Arc<ClientConfig>>,
pub setup_budget_ms: u64,
pub transport_timeout_ms: Option<u64>,
pub transit_margin_ms: u64,
pub unit_rate: UnitRate,
pub privacy: BTreeMap<String, String>,
pub batching: Option<BatchConfig>,
pub retain_bytes: bool,
pub await_cancel_confirmation: bool,
pub cancel_budget_ms: u64,
pub phases: TransportPhases,
pub protocol_major: u32,
pub operator: EndpointOperator,
pub principal: PrincipalPosture,
pub pool: Option<Arc<HttpPool>>,
pub tls_label: Option<String>,
pub batch_dispatch: Option<u32>,
pub run_evidence: bool,
}Expand description
Host configuration. Credentials, addresses, rates and concurrency are
configuration; only ClientConfig::endpoint_class, the privacy
options and the negotiated remote identity enter the artifact identity.
Fields§
§endpoint: Stringhttp[s]://host:port[/base]; plain http only for loopback.
backend_id: StringThe hosted backend to bind.
endpoint_class: StringNames the endpoint in the identity; never a secret URL or key.
bearer: Option<Secret>§tls: Option<Arc<ClientConfig>>Overrides the default TLS configuration (webpki roots).
setup_budget_ms: u64The budget of negotiation at construction.
transport_timeout_ms: Option<u64>A transport limit shorter than the budget, if any. Longer than the setup budget is refused at construction (section 6).
transit_margin_ms: u64Subtracted from the budget the remote side is told (3.4.1).
unit_rate: UnitRateDeployment units per remote unit (3.8.1).
privacy: BTreeMap<String, String>Sent on every request and recorded as requested (3.8.2).
batching: Option<BatchConfig>Off by default.
retain_bytes: boolRetain request and response bytes for the sink (R-19: off).
await_cancel_confirmation: boolWhen the terms confirm cancellation, wait (within the attempt’s budget) for the confirmation before answering the signal. The runtime polls a cancelled attempt once, so with this on it records the answer as not observed; off by default.
cancel_budget_ms: u64The budget of a cancel exchange sent after the attempt answered.
phases: TransportPhasesPhase ceilings inside each attempt’s one budget (spec 020, 3.4). Disabled by default; enabling it changes the binding identity.
protocol_major: u32The protocol major version this binding negotiates, exactly: 1 (the default) or 2 (spec 020, 2). No per-call upgrade or downgrade.
operator: EndpointOperatorWho operates the endpoint; third party by default (spec 020, 3.6).
principal: PrincipalPostureThe principal wire posture; omitted by default (spec 020, 3.6).
pool: Option<Arc<HttpPool>>Reuse connections from this host-owned pool (spec 020, 3.5); none by default, so every exchange opens its own connection. Clients sharing a pool share connections only under an exact isolation key.
tls_label: Option<String>The host’s nonsecret label for its own tls configuration, an
isolation-key member. With a custom configuration and no label the
key is unknown and no connection is reused.
batch_dispatch: Option<u32>Accept runtime-planned batches of at most this many members (spec 020, 3.3), when the remote terms offer shared-state batching. Off by default; the runtime still batches only under an enabled spec 017 policy. Enabling it changes the binding identity.
run_evidence: boolThe evidence sink accepts rustev.run/2 (spec 020, 3.1 and 3.2):
keep each attempt’s remote evidence for the runtime to take. Off by
default; enabling it changes the binding identity.