首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在aeronmd init过程中调用两次函数aeron_driver_context_bindings_clientd_create_entries?

为什么在aeronmd init过程中调用两次函数aeron_driver_context_bindings_clientd_create_entries?
EN

Stack Overflow用户
提问于 2022-11-15 09:56:20
回答 1查看 32关注 0票数 0

在aeronmd的主要过程中,在c代码中调用aeron_driver_context_bindings_clientd_create_entries函数,一次在aeron_driver_context_init中调用,另一次在aeron_driver_init中调用。这是复制吗?还是有一些设计考虑的理由?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 00:24:13

这个方法做两件事,为绑定分配空间和为拦截器分配空间。有些绑定需要在初始化阶段早期的空间,所以我们预先创建了一些空间。但是,在上下文初始化之后仍然可以添加拦截器,因此我们需要再次检查列表中是否有可用的空间。

可能有一种重构来分离传输绑定与拦截器的状态信息,并分别初始化它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74443653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档