xuchuanyin / workbench

0 stars 0 forks source link

2018-04-21 dm bug #29

Open xuchuanyin opened 6 years ago

xuchuanyin commented 6 years ago
  /**
   * class to store simple information about a blocklet for less memory footprint. Since part number
   * is always 0, so skip it.
   */
  private static class SimpleBlockletInfo {
    byte[] segmentId;
    short blockNo;
    short blockletNo;

    SimpleBlockletInfo(byte[] segmentId, short blockNo, short blockletNo) {
      this.segmentId = segmentId;
      this.blockNo = blockNo;
      this.blockletNo = blockletNo;
    }

    @Override
    public int hashCode() {
      int result = Arrays.hashCode(segmentId);
      result = 31 * result + blockNo;
      result = 31 * result + blockletNo;
      return result;
    }

    @Override
    public boolean equals(Object obj) {
      return obj instanceof SimpleBlockletInfo
          && Arrays.equals(segmentId, ((SimpleBlockletInfo) obj).segmentId)
          && blockNo == (((SimpleBlockletInfo) obj).blockNo)
          && blockletNo == (((SimpleBlockletInfo) obj).blockletNo);
    }
  }