/** * Split blocks according to maximum split length. * * @param start Start position. * @param len Length. * @param maxLen Maximum allowed length. * @param nodes Affinity nodes. * @param res Where to put results. */ private void splitBlocks(long start, long len, long maxLen, Collection<GridNode> nodes, Collection<GridGgfsBlockLocation> res) { if (maxLen > 0) { long end = start + len; long start0 = start; while (start0 < end) { long len0 = Math.min(maxLen, end - start0); res.add(new GridGgfsBlockLocationImpl(start0, len0, nodes)); start0 += len0; } } else res.add(new GridGgfsBlockLocationImpl(start, len, nodes)); }
/** * Split blocks according to maximum split length. * * @param start Start position. * @param len Length. * @param maxLen Maximum allowed length. * @param nodes Affinity nodes. * @param res Where to put results. */ private void splitBlocks(long start, long len, long maxLen, Collection<GridNode> nodes, Collection<GridGgfsBlockLocation> res) { if (maxLen > 0) { long end = start + len; long start0 = start; while (start0 < end) { long len0 = Math.min(maxLen, end - start0); res.add(new GridGgfsBlockLocationImpl(start0, len0, nodes)); start0 += len0; } } else res.add(new GridGgfsBlockLocationImpl(start, len, nodes)); }
GridGgfsBlockLocationImpl location = new GridGgfsBlockLocationImpl();
GridGgfsBlockLocationImpl location = new GridGgfsBlockLocationImpl();