pause 方法

Capability pause([
  1. Capability? resumeCapability
])

请求隔离器暂停。

当隔离器收到暂停命令时,它停止处理事件循环队列中的事件。它可能仍然会根据计时器或接收端口消息等响应添加新事件到队列中。当隔离器恢复时,它开始处理已入队的事件。

暂停请求通过隔离器的命令端口发送,绕过接收隔离器的事件循环。暂停在接收到时生效,暂停事件循环当前状态。

resumeCapability 用于标识暂停,并必须再次使用 resume 来结束暂停。如果省略 resumeCapability,则创建并使用新的能力对象。

如果使用相同的 capability 重复暂停隔离器,则只需要使用那个 capability 暂停一次即可结束暂停。

如果使用多个 capability 暂停隔离器,则在隔离器恢复之前,必须单独结束每个暂停。

返回必须用于结束暂停的能力。这可以是 resumeCapability,或者省略 resumeCapability 时的新能力。

如果 pauseCapabilitynull,或者它不是由 controlPort 标识的隔离器的暂停能力,则接收隔离器会忽略暂停请求。

实现

Capability pause([Capability? resumeCapability]) {
  resumeCapability ??= Capability();
  _pause(resumeCapability);
  return resumeCapability;
}