aeron_udp_channel_transport_stct::bindings_clientd只用于aeron_udp_channel_transport_init函数,该函数将bindings_clientd设置为NULL,而不进行进一步的操作。除了测试用例中的一些修改和断言。
在测试用例中,它被赋值为struct aeron_test_udp_bindings_state_stct,其中包含一些状态计数器。
这个数据成员在副翼上扮演什么角色?bindings_clientd的正确用法是什么?
发布于 2022-11-07 22:05:14
除非您正在编写自定义网络绑定,否则请不要关注此字段。
Aeron驱动程序支持添加不同的网络绑定实现(请参阅aeron_udp_channel_transport_bindings_stct)。在OSS回购中,只有对传统操作系统(Linux、Mac、Windows)网络的支持。但是,如果用户希望添加使用不同网络API并需要对每个传输实例携带一些实现特定信息的额外实现,则需要将其添加到此字段。从理论上讲,对于UDP实现来说,它可以重构为有一个在这里保存文件描述符的结构。
测试驱动程序在该字段中携带一些状态信息,以便可以在测试中断言行为。还存在对C驱动程序的商业扩展(例如,对于DPDK),这些扩展也利用了这个领域。
https://stackoverflow.com/questions/74349900
复制相似问题