pub struct RestPolicy {
pub request_timeout_ms: u64,
pub connect_timeout_ms: u64,
pub lb_strategy: String,
pub instance_scheme: String,
pub retry_get_head_on_transport_error: bool,
pub retry_get_head_on_retryable_status: bool,
pub max_attempts: usize,
}Expand description
宿主 REST 桥的独立调用策略;共享发现时效仅由 snapshot 策略裁决。
Fields§
§request_timeout_ms: u64一次请求的最大耗时,单位为毫秒。
connect_timeout_ms: u64HTTP 建连预算,单位为毫秒,不得超过请求总预算。
lb_strategy: String实例选择策略,可使用 round_robin 或 weighted。
instance_scheme: String发现实例的 HTTP 协议,只接受 http 或 https。
retry_get_head_on_transport_error: bool是否允许 GET/HEAD 在传输错误后按剩余预算重试。
retry_get_head_on_retryable_status: bool是否允许 GET/HEAD 在可重试响应状态后重试。
max_attempts: usize一次逻辑请求允许的总尝试次数,包含首次调用。
Implementations§
Trait Implementations§
Source§impl Clone for RestPolicy
impl Clone for RestPolicy
Source§impl Default for RestPolicy
impl Default for RestPolicy
Source§impl<'de> Deserialize<'de> for RestPolicywhere
RestPolicy: Default,
impl<'de> Deserialize<'de> for RestPolicywhere
RestPolicy: Default,
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 RestPolicy
impl RefUnwindSafe for RestPolicy
impl Send for RestPolicy
impl Sync for RestPolicy
impl Unpin for RestPolicy
impl UnsafeUnpin for RestPolicy
impl UnwindSafe for RestPolicy
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