## 接口 tenet.util.pattern.serviceclient.IClient
的使用

- 使用IClient的程序包
  程序包 | 说明
  --- | ---
  tenet.protocol.datalink | Datalink(数据链路)层协议
  tenet.protocol.datalink.SEther | Simple Ethernet协议
  tenet.protocol.network |
  tenet.protocol.physics | 物理层协议，包含RJ45协议
  tenet.protocol.transport |
  tenet.util.pattern.serviceclient | Service/Client模式，Observer模式的特例。

- - ### tenet.protocol.datalink中IClient的使用

    tenet.protocol.datalink中IClient的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `IDataLinkLayer` Datalink层的标准接口.

  - ### tenet.protocol.datalink.SEther中IClient的使用

    实现IClient的tenet.protocol.datalink.SEther中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `SimpleEthernetDatalink` 简易实现Ethernet的逻辑，上层协议的特征域为整数（即ethertype） 其他的基于Ethernet的对数据链路的拓展均继承这个类

    参数类型为IClient的tenet.protocol.datalink.SEther中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | SimpleEthernetDatalink.`registryClient(IClient<java.lang.Integer> client)` 注册上层协议
    `void` | SimpleEthernetDatalink.`unregistryClient(IClient<java.lang.Integer> client)`

  - ### tenet.protocol.network中IClient的使用

    tenet.protocol.network中IClient的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `INetworkLayer`

  - ### tenet.protocol.physics中IClient的使用

    参数类型为IClient的tenet.protocol.physics中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | Link.`read(IClient<MediumAddress> caller)`
    `void` | Link.`registryClient(IClient<MediumAddress> client)`
    `void` | Link.`send(IClient<MediumAddress> caller, byte[] data)`
    `void` | Link.`unregistryClient(IClient<MediumAddress> client)`

  - ### tenet.protocol.transport中IClient的使用

    tenet.protocol.transport中IClient的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `ITransportLayer`

  - ### tenet.util.pattern.serviceclient中IClient的使用

    参数类型为IClient的tenet.util.pattern.serviceclient中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | IRegistryableService.`registryClient(IClient<ClientIdentity> client)`
    `void` | IRegistryableService.`unregistryClient(IClient<ClientIdentity> client)`