Advertisement

Binder (三) RPC流程

阅读量:
基础数据结构

binder实体和引用 binder_node binder_ref

  • 实体和引用.
    该Binder实例仅存在于当前进程中。
    该实例即为binder_node对象, 其引用等同于binder_ref。

  • proc可以是客户端或服务器相关的proc

  • 该系统采用四棵红黑树配合查找
    四棵红黑树, threads, nodes, ref_by_description, ref_by_node
    ref_by_description通过handle句柄进行查询操作, 其主要功能在于支持用户空间向绑定器驱动发送数据请求使用. 当系统在处理相关请求时, 如果用户空间已经获得了相应的Binder驱动为其创建了binder_ref引用句柄后, 就可以根据此信息快速定位到相应的绑定器节点.

复制代码
    struct binder_ref *binder_get_ref(struct binder_proc *proc,
                     uint32_t desc)
    
    
    AI写代码c
    
    运行

refs_by_node 根据 node 节点进行查询。
主要为 binder 驱动往用户空间传输数据而设计, 红黑树基于 binder_node 来实现查找功能。
若无法找到相关信息, 则创建

全部评论 (0)

还没有任何评论哟~