Bn和Bp

BnXXX:指binder native,给server用,通过AIDL在C++测实现。
BpXXX:binder proxy,给client用

IBinder:binder接口的基类,接口定义了进程间交互的协议,通过transact方法向远端的IBinder对象发出调用,远端对象通过Binder.OnTransact()方法响应接收到的调用
IBinder、BBinder、BpBinder:
IBinder是对binder的抽象,即binder接口,它有BBinder、BpBinder两个子类,
BBinder是服务器中的binder实体,负责接收远程函数的调用和数据,并在Binder 驱动内部生成binder节点,即内核中的binder实体。
BpBinder是客户端中的binder引用,保存着目标服务的handle信息,即服务端的binder实体的引用信息,用于查询内核中的binder节点,并同binder实体通信。

IInterface、BnInterface、BpInterface:
IInterface提供asBinder()方法,返回一个IBinder引用,提供类型转换功能,将服务或服务代理类转换为IBinder类型。实际的类型转换有BnInterface、BpInterface完成
BnInterface用在服务端,将服务类转换为IBinder
BpInterface用在客户端,将服务代理类转换为IBinder。
Parcel:在服务与服务代理间进行binder IPC通信时,Parcel类负责保存binder IPC通信数据,包括:C语言基本数据类型和binder对象。

原文链接: https://www.cnblogs.com/SaraMoring/p/14348093.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Bn和Bp

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/207906

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午11:07
下一篇 2023年2月12日 下午11:07

相关推荐