跳到主要内容

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​

ParameterTypeDescription
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​

ParameterTypeDescription
messageDevToolsConnectorNegotiationMessagev1 或 v2 帧。
transfer?Transferable[]握手的私有端口(无端口宿主省略)。

Returns​

void


subscribe()​

subscribe(callback): () => void;

Defined in: connector-transport.ts:49

订阅面板消息。

Parameters​

ParameterTypeDescription
callback(message) => void每帧回调。

Returns​

退订函数。

() => void

Remarks​

回调收到的是未经 v1/v2 分流的原始帧(宿主已做身份/来源过滤)。协议分流是 connector 的 职责,不在这里——否则每个宿主都要复制一份「哪条是 v1 命令、哪条是 v2 帧」的判定。