CommonAPI
CommonAPI
最近几天在研究commonAPI,记录一下研究的新的,CommonAPI是进行进程间通信使用的。 CommonAPI C++ 在通讯层分为Core和Binding两个部分。其中Core部分负责和Application交互而Binding部分负责和系统底层的IPC服务栈交互。其中的Binding即IPC的具体实现方式。目前GENIVI支持的Binding分为两种,分别是SOME/IP和DBus。
CommonAPI C++的IPC接口使用的是通用的“服务端、客户端”模式。
对于客户端主动发起的通讯,采取的是方法(Methods)调用的方式来实现。
Method分为两种类型:
标准的带有返回值的Method(Basic Method)
不需要返回值的Method(Fire-and-forgot Method)
服务端主动发起的通讯通过广播(Broadcasts)的方式实现。
CommonAPI C++提供的广播模式也有两种:
标准的广播方式(Basic Broadcasts),即广播内容发送给所有的客户端
选择性广播方式(Selective Broadcasts),即广播内容可以发送给某一个或一组客户端。此种情况下,通常是由服务端提供类似Registor的Method用于客户端注册。然后服务端根据注册情况将广播发送给不同的客户端。
使用步骤。
1.首先下载源码,生产core、someip,dbus程序。
2.编写fidl文件
3.使用core程序去生成代码
4.使用dbus或者someip去生成代码