private static int calculateActualSize(int[] fieldEndOffsets, int size) { if (fieldEndOffsets != null) { return FrameHelper.calcRequiredSpace(fieldEndOffsets.length, size); } return FrameHelper.calcRequiredSpace(0, size); }
/** * A faster way of calculating the ceiling * * @param fieldCount please set fieldCount to 0 if the tupleLength includes the fields' length * @param tupleLength * @param minFrameSize * @return */ public static int calcAlignedFrameSizeToStore(int fieldCount, int tupleLength, int minFrameSize) { assert fieldCount >= 0 && tupleLength >= 0 && minFrameSize > 0; return (1 + (calcRequiredSpace(fieldCount, tupleLength) + FrameConstants.META_DATA_LEN - 1) / minFrameSize) * minFrameSize; }
protected boolean hasEnoughSpace(int fieldCount, int tupleLength) { return tupleDataEndOffset + FrameHelper.calcRequiredSpace(fieldCount, tupleLength) + tupleCount * FrameConstants.SIZE_LEN <= FrameHelper.getTupleCountOffset(frame.getFrameSize()); }