【HDFS】BlockReceiver#receivePacket方法详解

BlockReceiver#receivePacket:

接收并处理一个packet,这个packet可能包含多个chunks。
返回值是packet的数据字节数。

receivePacket这个方法的代码有250+行。非常长。需要我们去一点一点拆解:

  private int receivePacket() throws IOException {
   
    // 从输入流in里读下一个packet。这个in是上游。receiveNextPacket也是核心方法,可以先跳转到文末看这个方法的解析,看完再回来。
    // 现在我们只需要知道receive packet之后把packet放到curPacketBuf这个ByteBuffer里了。
    // read the next packet
    packetReceiver.receiveNextPacket

你可能感兴趣的:(HDFS全方位实战,hdfs,hadoop,大数据)