开源库介绍
文章平均质量分 90
介绍个人使用过的开源库
想卖家具的程序猿
想卖家具,又想调bug,哈哈。本人喜欢通信中间件,喜欢看开源库,分析源码。有志同道合的朋友,可以一起坐下来交流一下。当然,有需要家具的,欢迎找我咨询,嘿嘿!
展开
-
iceoryx--iceoryx整体分析
iceoryx是基于共享内存实现通信的中间件,主要目的在于降低通信延迟、增加通信速度、减低目标设备CPU,据官方介绍,iceoryx的通信延迟在1us以内,并且不会随着payload的增加而增加。publisher的发送结构体中保存所有订阅者的数据接收队列地址,当publisher发送对应的数据时,publisher会先将存有数据的chunk存放到subscriber的。中,然后触发响应的条件变量,通知对应的listener接收消息,实现数据传输;原创 2024-04-30 12:21:39 · 1021 阅读 · 0 评论 -
vsomeip支持静态服务发现吗?
即服务的每个单独配置,其中包括了服务所使用的ip地址(或者目标服务所在的ECU的IP地址),TCP端口号,UDP端口,广播地址以及端口、协议、事件组等,配置项。之后,事件组会判断是否通过组播方式(在someip协议中,当一个eventgroup订阅的数量超过一定的阈值,则可以通过组播的方式发送event消息,以降低网络的开销,提高通信效率)。因此从发送端的代码可以看出,vsomeip发送片间消息的一个前提是存在片间的订阅,而通过配置文件,发送端其实是不知道接收端的ip地址和端口号的。这个与实验结果一致。原创 2024-04-28 12:23:19 · 357 阅读 · 0 评论 -
vsomeip片内源码分析
vsomeip 是 GENIVI 实现的开源 SOME/IP 库,由 C++ 编写,目前主要实现了 SOME/IP 的通信和服务发现功能,并在此基础上增加了少许的安全机制。如图所示,vsomeip 不仅涵盖了设备之间的 SOME/IP 通信(外部通信),还涵盖了内部进程间通信。两个设备通过communication endpoints(通信端点)进行通信,endpoints 确定传输使用的协议(TCP 或 UDP)及端口号或其他参数。原创 2024-04-25 12:30:52 · 2127 阅读 · 2 评论 -
Jemalloc 源码分析
jemalloc 是由 Jason Evans 在 FreeBSD 项目中引入的新一代内存分配器。它是一个通用的 malloc 实现,侧重于减少内存碎片和提升高并发场景下内存的分配效率,其目标是能够替代 malloc。jemalloc 在 2005 年首次作为 FreeBSD libc 分配器使用,2010年,jemalloc 的功能延伸到如堆分析和监控/调优等。现代的 jemalloc 版本依然集成在 FreeBSD 中。原创 2024-04-24 12:22:12 · 1412 阅读 · 0 评论