在aeronmd的主要过程中,在c代码中调用aeron_driver_context_bindings_clientd_create_entries函数,一次在aeron_driver_context_init中调用,另一次在aeron_driver_init中调用。这是复制吗?还是有一些设计考虑的理由?
发布于 2022-11-17 00:24:13
这个方法做两件事,为绑定分配空间和为拦截器分配空间。有些绑定需要在初始化阶段早期的空间,所以我们预先创建了一些空间。但是,在上下文初始化之后仍然可以添加拦截器,因此我们需要再次检查列表中是否有可用的空间。
可能有一种重构来分离传输绑定与拦截器的状态信息,并分别初始化它们。
https://stackoverflow.com/questions/74443653
复制相似问题