本文想要完成對twemproxy發(fā)送流程——msg_send的探索,對于twemproxy發(fā)送流程的數(shù)據(jù)結(jié)構已經(jīng)在《twemproxy接收流程探索——剖析twemproxy代碼正編》介紹過了,msg_send和msg_recv的流程大致類似。請在閱讀代碼時,查看注釋,英文注釋是作者對它的代碼的注解,中文注釋是我自己的感悟。

函數(shù)msg_send

seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

 1 rstatus_t 2 msg_send(struct context *ctx, struct conn *conn) 3 { 4     rstatus_t status; 5     struct msg *msg; 6     /*表示活躍的發(fā)送狀態(tài)*/ 7     ASSERT(conn->send_active); 8     /*表示準備發(fā)送*/ 9     conn->send_ready = 1;10     do {11         /*獲取下一次發(fā)送的msg開頭*/12         msg = conn->send_next(ctx, conn);13         if (msg == NULL) {14             /* nothing to send */15             return NC_OK;16         }17    &nb