# 程序包 tenet.util.pattern.cbc
的使用

- 使用tenet.util.pattern.cbc的程序包
  程序包 | 说明
  --- | ---
  tenet.core | 模拟器执行核心
  tenet.protocol.datalink.SEther | Simple Ethernet协议
  tenet.protocol.interrupt | Interrupt模式
  tenet.protocol.physics | 物理层协议，包含RJ45协议
  tenet.protocol.statecontrol | 可使能接口相关
  tenet.util.pattern.cbc | Callback-able Command(CBC)模式.

- tenet.core使用的tenet.util.pattern.cbc中的类
  类和说明
  Command CBC的抽象基类， 当CBC被指定调用者（Caller）后，可以对调用者进行回调，但是并不切断回调链，如果需要切断回调链，需要使用`tenet.protocol.interrupt` 基于Tenet特点，所有Command需要指定模拟器中的执行时间，但不保证一定按照执行时间执行（当执行时间小于模拟器时间时）。
  IInvoker
  IReceiver

- tenet.protocol.datalink.SEther使用的tenet.util.pattern.cbc中的类
  类和说明
  ICaller
  IReceiver

- tenet.protocol.interrupt使用的tenet.util.pattern.cbc中的类
  类和说明
  Command CBC的抽象基类， 当CBC被指定调用者（Caller）后，可以对调用者进行回调，但是并不切断回调链，如果需要切断回调链，需要使用`tenet.protocol.interrupt` 基于Tenet特点，所有Command需要指定模拟器中的执行时间，但不保证一定按照执行时间执行（当执行时间小于模拟器时间时）。
  ICaller
  IReceiver

- tenet.protocol.physics使用的tenet.util.pattern.cbc中的类
  类和说明
  ICaller
  IReceiver

- tenet.protocol.statecontrol使用的tenet.util.pattern.cbc中的类
  类和说明
  Command CBC的抽象基类， 当CBC被指定调用者（Caller）后，可以对调用者进行回调，但是并不切断回调链，如果需要切断回调链，需要使用`tenet.protocol.interrupt` 基于Tenet特点，所有Command需要指定模拟器中的执行时间，但不保证一定按照执行时间执行（当执行时间小于模拟器时间时）。
  IReceiver

- tenet.util.pattern.cbc使用的tenet.util.pattern.cbc中的类
  类和说明
  Command CBC的抽象基类， 当CBC被指定调用者（Caller）后，可以对调用者进行回调，但是并不切断回调链，如果需要切断回调链，需要使用`tenet.protocol.interrupt` 基于Tenet特点，所有Command需要指定模拟器中的执行时间，但不保证一定按照执行时间执行（当执行时间小于模拟器时间时）。
  IReceiver