Skip to main content

flare_core/server/
mod.rs

1//! 服务端模块
2//!
3//! 提供服务端实现,支持 WebSocket 和 QUIC 协议
4
5#[cfg(not(any(feature = "websocket", feature = "quic", feature = "tcp")))]
6compile_error!(
7    "feature `server` requires at least one transport feature: `websocket`, `quic`, or `tcp`"
8);
9
10pub mod auth;
11pub mod builder;
12pub mod config;
13pub mod connection;
14pub mod device;
15pub mod events;
16pub mod handle;
17pub mod heartbeat;
18pub mod transports;
19
20pub use auth::{AuthResult, Authenticator, DefaultAuthenticator};
21pub use builder::{
22    FlareServer, FlareServerBuilder, MessageContext, ObserverServer, ObserverServerBuilder,
23    ServerBuilder, SimpleServer,
24};
25pub use config::ServerConfig;
26pub use connection::{ConnectionInfo, ConnectionManager, ConnectionManagerTrait, ConnectionStats};
27pub use device::{DeviceConflictStrategy, DeviceConflictStrategyBuilder, DeviceManager};
28pub use events::ServerEventHandler;
29pub use handle::{DefaultServerHandle, ServerHandle};
30pub use heartbeat::HeartbeatDetector;
31#[cfg(feature = "quic")]
32pub use transports::QUICServer;
33#[cfg(feature = "tcp")]
34pub use transports::TCPServer;
35#[cfg(feature = "websocket")]
36pub use transports::WebSocketServer;
37pub use transports::{ConnectionHandler, HybridServer, Server};
38
39// 重新导出错误类型,服务端使用 ServerError
40pub use crate::common::error::Result;
41pub use crate::common::error::ServerError;
42
43pub use crate::common::config_types::TransportProtocol;