#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeFrameLimit {
#[prost(uint32, tag="1")]
pub window_seconds: u32,
#[prost(uint32, tag="2")]
pub max_orders: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderLimiterConfig {
#[prost(bool, optional, tag="1")]
pub enabled: ::core::option::Option<bool>,
#[prost(int64, optional, tag="3")]
pub single_order_limit: ::core::option::Option<i64>,
#[prost(message, repeated, tag="4")]
pub time_frame_limits: ::prost::alloc::vec::Vec<TimeFrameLimit>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeFrameStatus {
#[prost(uint32, tag="1")]
pub window_seconds: u32,
#[prost(uint32, tag="2")]
pub current_count: u32,
#[prost(uint32, tag="3")]
pub max_orders: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderLimiterStatus {
#[prost(bool, tag="3")]
pub enabled: bool,
#[prost(message, repeated, tag="6")]
pub time_frame_statuses: ::prost::alloc::vec::Vec<TimeFrameStatus>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateOrderLimiterConfigRequest {
#[prost(message, optional, tag="3")]
pub config: ::core::option::Option<OrderLimiterConfig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateOrderLimiterConfigResponse {
#[prost(uint32, tag="1")]
pub updated_count: u32,
#[prost(string, tag="2")]
pub message: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StreamOrderLimiterStatusRequest {
}
include!("kdo.v1.order_limit.tonic.rs");
include!("kdo.v1.order_limit.serde.rs");