常规设计目标

以下列表包含 TAPI MSP 设计目标。

  • 基类一直保持简单,仅当绝对必要时才引入成员和方法。
  • 简单继承。 类之间没有多个继承,尽管多个继承用于接口。
  • 锁定仅以一个方向发生,以防止死锁。 调用对象上需要锁的调用对象上的方法可能会调用需要流上锁的流上的方法。 但是,在流上要求锁定的流上的方法永远不会在调用上调用时调用需要锁的方法。
  • Refcount 用于保护访问。 发布到线程池的所有回调都保留 refcount。 取消等待时,将取消 refcount。 Address 对象在终端上具有 refcount。 调用对象对地址和流具有 refcount。 流对象在呼叫和终端上具有 refcount。 终端在 Streams 上有 refcount。 调用 Address 和 Call 对象上的关闭方法时,循环 refcount 将中断。