Librdkafka将与kafka broker的交互,内部实现的一些操作,都封装成operator结构, 然后放入操作处理队列里, 统一处理;
这个队列其实也是一个线程间通讯的管道;
围绕这个队列的操作...tailq队列里
struct rd_kafka_op_tailq rkq_q; /* TAILQ_HEAD(, rd_kafka_op_s) */
int rkq_qlen...的队列挂到tmpq这个临时tailq上面, 减少lock的时间
TAILQ_MOVE(&tmpq, &rkq->rkq_q, rko_link);
/* Zero out queue...,优先入rkq_fwdq队列, 没有直接入rkq_q队列
if (!..., 就wait, 如果wait超时后队列还为空就直接退出
while (!