1.1. 如何处理响应消息? 0;11:00 ~ 0;30:00
上节内容NetworkClient.poll 方法
response.request().callback().onComplete(response);
Sender#completeBatch方法里面:
//TODO 核心代码 把异常的信息也给带过去了
//我们刚刚看的就是这儿的代码
//里面调用了用户传进来的回调函数
//回调函数调用了以后
//说明我们的一个完整的消息的发送流程就结束了。
batch.done(baseOffset, timestamp, exception);
——》RecordBatch#done
1. 2. 消息发送完了以后内存如何处理?
this.accumulator.deallocate(batch); // 回收
——》free.deallocate
1.3. 消息异常如何处理? 到 ~ 0;34:00
1.4. 如何处理超时的批次? 0;34:00 ~ 0;45:00
Sender#run 开始
Sender#completeBatch方法
——》RecordBatch#done
——》 DemoCallBack#onCompletion方法
RecordAccumulator #abortExpiredBatches方法
batch#maybeExpire