跳至正文

flare-core API 参考(集成向)

完整签名见 docs.rs/flare-core。以下为 IM 集成最常接触的入口。

构建模式

模式类型场景
FlareFlareServerBuilder / FlareClientBuilder生产推荐,统一生命周期
ObserverObserverServer / ObserverClient细粒度事件回调
SimpleSimpleServer / SimpleClient示例与原型
BuilderServerBuilder / ClientBuilder闭包式自定义

服务端(Flare)

use flare_core::server::FlareServerBuilder;
use flare_core::server::events::handler::ServerEventHandler;
use std::sync::Arc;

let server = FlareServerBuilder::new("0.0.0.0:8080", Arc::new(handler)).build()?;
server.run().await?;

ServerEventHandler(节选)

方法说明
handle_message收到 Payload 帧,可返回应答 Frame
on_connect / on_disconnect连接生命周期
认证扩展实现 Authenticator 校验 Token

客户端

use flare_core::client::FlareClientBuilder;
use flare_core::common::config_types::TransportProtocol;

let client = FlareClientBuilder::new()
    .url("wss://gateway.example.com")
    .protocols(vec![TransportProtocol::WebSocket, TransportProtocol::Quic])
    .race_timeout(Duration::from_secs(5))
    .token("Bearer …")
    .build()
    .await?;
配置项说明
protocols多协议列表,客户端竞速选最快链路
race_timeout竞速超时
device_id多设备策略、冲突处理
压缩/序列化Protobuf / JSON,Gzip / Zstd 协商

协议帧

  • Frame:传输层封装
  • PayloadCommand:业务载荷(IM 场景由上层或 flare-signaling 解析)

自建协议时只需保证 长连接稳定 + 心跳 + 鉴权;IM 语义放在 flare-im-core-sdk / 服务端。

与 flare-im-core 的关系

组件使用 flare-core
flare-signaling/gatewayWS/QUIC 接入
flare-im-core-sdk内嵌 HybridClient

错误处理

统一 flare_core::common::error::Result / FlareError;集成时记录 connection_id 与 trace_id。

下一步