Expand description
调用路由:把前端调用转换为 request 帧,并把 Python 返回的帧分发回对应的等待者。
架构位置:前端 -> Tauri 命令 -> Bridge -> Writer/FrameCodec -> Python 进程。
Bridge 不持有连接:发送通过调用方传入的 Writer,接收由
crate::runtime::Supervisor 的读循环调用 Bridge::handle。
不变量:
- 每个调用 id 只会被完成一次(响应、错误、超时、取消或
Bridge::fail_all中先到者生效), 之后迟到的帧被静默丢弃; - 调用完成时同时注销其 channel 与客户端 id 映射,因此调用返回后到达的
channel_data不会再投递; - 客户端调用 id 按窗口隔离,见
CallOptions::client_id。
Structs§
- Bridge
- 进行中调用、客户端 id 与 channel 的注册表,在多次进程重启之间复用。
- Call
Options - 单次调用的可选参数。
Constants§
- MAX_
TIMEOUT_ FACTOR - 前端指定的单次超时最多为默认超时的此倍数。
Traits§
- Event
Sink - 接收 Python 发往前端的事件与进程退出通知。
Type Aliases§
- Channel
Sink - 接收某个 channel 数据的回调,通常把载荷转发给前端的
Channel。