第五章 组件规格与接口
一个nesC接口定义规定了两个组件间的双向交互方式,这两个组件分别被称为接口的提供者和使用者。接口规定的交互方式分为两组:一是命令,这是使用该接口的组件向提供该接口的组件的函数调用;二是事件,这是提供该接口的组件向使用该接口的组件(使用方)的函数调用。在许多情况下,提供接口的组件是在提供某种服务(比如通过射频模块发送消息),其中命令代表使用方所请求的服务,事件代表使用方的响应。
含有类型参数的接口定义被称作泛型接口定义。类似C++中的模板类。组件之间只能通过相同的类型的接口相连。
5.1接口定义
接口定义遵循如下句法:
interface-definetion:
interface identifier type-parameters opt{declaration-list}
Queue泛型接口定义举例:
interface Queue<t> {
async command void push(t x);
async command t pop( );
async command bool empty( );
async command bool full( );
}
这个泛型接口定义了四个可以中断处理例程中处理的命令。
5.2接口类型
5.3组件规格段
5.4