Struct Rule

Source
pub struct Rule {
Show 31 fields pub id: Option<String>, pub service: Option<String>, pub namespace: Option<String>, pub subset: HashMap<String, MatchString>, pub priority: Option<u32>, pub resource: i32, pub type: i32, pub labels: HashMap<String, MatchString>, pub amounts: Vec<Amount>, pub action: Option<String>, pub disable: Option<bool>, pub report: Option<Report>, pub ctime: Option<String>, pub mtime: Option<String>, pub revision: Option<String>, pub service_token: Option<String>, pub adjuster: Option<AmountAdjuster>, pub regex_combine: Option<bool>, pub amount_mode: i32, pub failover: i32, pub cluster: Option<RateLimitCluster>, pub method: Option<MatchString>, pub arguments: Vec<MatchArgument>, pub name: Option<String>, pub etime: Option<String>, pub max_queue_delay: Option<u32>, pub concurrency_amount: Option<ConcurrencyAmount>, pub custom_response: Option<CustomResponse>, pub metadata: HashMap<String, String>, pub editable: bool, pub deleteable: bool,
}
Expand description

单个限流规则信息

Fields§

§id: Option<String>

限流规则唯一标识

§service: Option<String>

限流规则所属服务名

§namespace: Option<String>

限流规则所属命名空间

§subset: HashMap<String, MatchString>

可选,SUBSET标识

§priority: Option<u32>

限流规则优先级,0值最高

§resource: i32§type: i32§labels: HashMap<String, MatchString>

业务标签集合,通过KV进行匹配,全部匹配才使用该规则

§amounts: Vec<Amount>

限流阈值 可以有多个粒度的配置(比如同时针对秒级,分钟级,天级),匹配一个则进行限流 全局限流模式下,该值为服务配额总量;单机限流模式下,该值为单个节点能处理的配额量

§action: Option<String>

限流动作,和 resource 配合决定插件名称

§disable: Option<bool>

是否停用该限流规则,默认启用

§report: Option<Report>

限流上报方式,同时支持按固定周期上报,以及达到配额百分比后上报

§ctime: Option<String>

限流规则创建时间

§mtime: Option<String>

限流规则修改时间

§revision: Option<String>

限流规则revision信息

§service_token: Option<String>

服务的TOKEN信息,仅用于控制台,discover接口不下发

§adjuster: Option<AmountAdjuster>

配额调整算法

§regex_combine: Option<bool>

通配符是否合并计算,默认分开计数

§amount_mode: i32§failover: i32§cluster: Option<RateLimitCluster>

分布式限流服务集群

§method: Option<MatchString>

被调接口名

§arguments: Vec<MatchArgument>

被调的参数过滤条件,满足过滤条件才进入限流规则

§name: Option<String>

限流规则名

§etime: Option<String>

限流规则启用时间

§max_queue_delay: Option<u32>

最大排队时长,单位秒

§concurrency_amount: Option<ConcurrencyAmount>

amount for concurrency rate-limit

§custom_response: Option<CustomResponse>

fallback configuration

§metadata: HashMap<String, String>

限流规则标签数据

§editable: bool

操作标志位

§deleteable: bool

Implementations§

Source§

impl Rule

Source

pub fn resource(&self) -> Resource

Returns the enum value of resource, or the default if the field is set to an invalid enum value.

Source

pub fn set_resource(&mut self, value: Resource)

Sets resource to the provided enum value.

Source

pub fn type(&self) -> Type

Returns the enum value of type, or the default if the field is set to an invalid enum value.

Source

pub fn set_type(&mut self, value: Type)

Sets type to the provided enum value.

Source

pub fn amount_mode(&self) -> AmountMode

Returns the enum value of amount_mode, or the default if the field is set to an invalid enum value.

Source

pub fn set_amount_mode(&mut self, value: AmountMode)

Sets amount_mode to the provided enum value.

Source

pub fn failover(&self) -> FailoverType

Returns the enum value of failover, or the default if the field is set to an invalid enum value.

Source

pub fn set_failover(&mut self, value: FailoverType)

Sets failover to the provided enum value.

Trait Implementations§

Source§

impl Clone for Rule

Source§

fn clone(&self) -> Rule

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Rule

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Rule

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for Rule

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for Rule

Source§

fn eq(&self, other: &Rule) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Rule

Auto Trait Implementations§

§

impl Freeze for Rule

§

impl RefUnwindSafe for Rule

§

impl Send for Rule

§

impl Sync for Rule

§

impl Unpin for Rule

§

impl UnwindSafe for Rule

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more