DevToolsConnectorTransport
Defined in: connector-transport.ts:30
connector 传输层的最小抽象。
Remarks
三个方法各自对应 connector 的一处浏览器硬编码:
- send —— 出站帧(v1 握手随附私有端口,v2 帧走总线/宿主通道)。
- subscribe —— 入站帧(宿主做 source/origin/身份过滤后交回原始帧)。
- createSessionPort —— 会话私有端口;无端口宿主(Tauri)返回
undefined。
Methods
closeSessionPort()
closeSessionPort(): void;
Defined in: connector-transport.ts:64
关闭会话私有端口;幂等。
Returns
void
createSessionPort()
createSessionPort(onMessage): Transferable | undefined;
Defined in: connector-transport.ts:61
创建会话私有端口,返回随握手移交的那一端。
Parameters
| Parameter | Type | Description |
|---|---|---|
onMessage | (message) => void | 端口入站回调(原始帧,未做协议过滤)。 |
Returns
Transferable | undefined
要移交的对端,或 undefined。
Remarks
无端口宿主(Tauri)返回 undefined:它的隔离由宿主按窗口 label 路由提供,等价于浏览器
的 MessageChannel。调用方据此决定握手是否要带 transfer。
send()
send(message, transfer?): void;
Defined in: connector-transport.ts:37
发送一条消息到面板。
Parameters
| Parameter | Type | Description |
|---|---|---|
message | DevToolsConnectorNegotiationMessage | v1 或 v2 帧。 |
transfer? | Transferable[] | 握手的私有端口(无端口宿主省略)。 |
Returns
void
subscribe()
subscribe(callback): () => void;
Defined in: connector-transport.ts:49
订阅面板消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
callback | (message) => void | 每帧回调。 |
Returns
退订函数。
() => void
Remarks
回调收到的是未经 v1/v2 分流的原始帧(宿主已做身份/来源过滤)。协议分流是 connector 的 职责,不在这里——否则每个宿主都要复制一份「哪条是 v1 命令、哪条是 v2 帧」的判定。