pub struct RestState {
pub router: Arc<RequestRouter>,
pub ws_broadcaster: Arc<WsBroadcaster>,
pub key_store: Arc<KeyStore>,
pub counters: Arc<RuntimeCounters>,
/* private fields */
}Expand description
REST 服务共享状态
Fields§
§router: Arc<RequestRouter>复用 OpenD 的请求路由器
ws_broadcaster: Arc<WsBroadcaster>WebSocket 推送广播器
key_store: Arc<KeyStore>Bearer Token KeyStore(未配置 → is_configured() == false,WS 握手也放行)
counters: Arc<RuntimeCounters>v1.2:handler 层 full CheckCtx 用的限额计数器(与 auth middleware 共享同一份 Arc,rate window 跨 auth/handler 一致)
Implementations§
Source§impl RestState
impl RestState
pub fn new( router: Arc<RequestRouter>, ws_broadcaster: Arc<WsBroadcaster>, ) -> Self
pub fn with_key_store( router: Arc<RequestRouter>, ws_broadcaster: Arc<WsBroadcaster>, key_store: Arc<KeyStore>, ) -> Self
Sourcepub fn with_auth(
router: Arc<RequestRouter>,
ws_broadcaster: Arc<WsBroadcaster>,
key_store: Arc<KeyStore>,
counters: Arc<RuntimeCounters>,
) -> Self
pub fn with_auth( router: Arc<RequestRouter>, ws_broadcaster: Arc<WsBroadcaster>, key_store: Arc<KeyStore>, counters: Arc<RuntimeCounters>, ) -> Self
v1.2 推荐入口:同时接 KeyStore + 共享 RuntimeCounters
Sourcepub fn next_conn_id(&self) -> u64
pub fn next_conn_id(&self) -> u64
分配虚拟连接 ID
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RestState
impl !RefUnwindSafe for RestState
impl Send for RestState
impl Sync for RestState
impl Unpin for RestState
impl !UnwindSafe for RestState
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