标签:错误输出 未定义 源码分析 struct 研究 thread 自动 har offsetof
1. likely 和 unlikely用于分支预测的优化
如果一个分支命中的概率比较小,使用unlikely
如果相反,则用likely
2. pthread_once 多线程环境中保证函数只执行一遍
3. strchr 在字符串中寻找char第一次出现的位置
4. strrchr 在字符串中寻找char最后一次出现的位置
5. 每个partition和每个broker保持两个tcp连接
6. 问题
如果没有设置socket_db, 是否会有默认的回调函数?
7. c++ 可使用offsetof确定struct中某一个成员变量的偏移量
8. librdkafka 日志系统调用关系
rd_kafka_log0->log_cb回调函数(默认log_cb_trampoline)
在log_cb_trampoline函数中,如果定义了event_cb,则产生event
如果未定义event_cb, 调用rd_kafka_log_print将log打到标准错误输出
9. socket_cb的设置逻辑真他娘的绕,不知有何意义
Producer::create -> set_common_config ->
-> rd_kafka_conf_set_socket_cb(将socket回调函数设置成为RdKafka::socket_cb_trampoline)
-> RdKafka::socket_cb_trampoline (到此为止, socket_cb_trampoline 只是一个没有意义的地址)
-> socket_cb_ = confimpl->socket_cb_; (执行该句之后,socket回调函数最终是confimpl->socket_cb_)
而 confimpl->socket_cb_在初始化global config的时候就已经初始化了,为什么不直接赋值呢???
10. c++ 宏定义中## 起到连接符的作用
11. c++结构体内宏定义 TODO 研究
12. 二级线程启动之后,不断试图connect 10.139.41.42, 但是每次都失败
问题
13. librdkafka设置日志等级
如果定义了debug, 则日志等级自动为LOG_DEBUG
14. librdkafka设置日志内容
只输出generic和metadata两种日志
librdkafka 源码分析
标签:错误输出 未定义 源码分析 struct 研究 thread 自动 har offsetof
原文地址:http://www.cnblogs.com/taiyang-li/p/6322574.html