public static FileCopyGetChunkRequest readFrom(DataInputStream stream, ClusterMap clusterMap)
      throws IOException {
    Short versionId = stream.readShort();
    validateVersion(versionId);

    int correlationId = stream.readInt();
    String clientId = Utils.readIntString(stream);
    PartitionId partitionId = clusterMap.getPartitionIdFromStream(stream);
    String fileName = Utils.readIntString(stream);
    String hostName = Utils.readIntString(stream);
    String snapShotId = Utils.readIntString(stream);
    long startOffset = stream.readLong();
    long sizeInBytes = stream.readLong();
    boolean isChunked = stream.readBoolean();

    return new FileCopyGetChunkRequest(versionId, correlationId, clientId, partitionId,
        fileName, hostName, snapShotId, startOffset, sizeInBytes, isChunked);
  }
Serialize the request into a buffer
@param stream The stream to write to
@param clusterMap The cluster map
@return FileCopyGetChunkRequest
@throws IOException
ambry-protocol/src/main/java/com/github/ambry/protocol/FileCopyGetChunkRequest.java