Protos.Resource taken = available.toBuilder().setRanges(Protos.Value.Ranges.newBuilder().addAllRange(takenRanges)).build(); if (LOG.isDebugEnabled()) { LOG.debug("Taking {} from {}", Utils.toString(taken.getRanges()), Utils.toString(available)); i.set(available.toBuilder().setRanges(Protos.Value.Ranges.newBuilder().addAllRange(remainingRanges)).build());
/** * Construct a range resource. */ public static Protos.Resource ranges(String name, String role, Protos.Value.Range... ranges) { checkNotNull(name); checkNotNull(role); checkNotNull(ranges); return Protos.Resource.newBuilder() .setName(name) .setType(Protos.Value.Type.RANGES) .setRanges(Protos.Value.Ranges.newBuilder().addAllRange(Arrays.asList(ranges)).build()) .setRole(role) .build(); }
.setType(Protos.Value.Type.RANGES) .setName("ports") .setRanges(Protos.Value.Ranges.newBuilder().addAllRange( portMappings.stream().map(PortMapping::toRange).collect(Collectors.toList()) ))
public static Resource createRanges( final String name, final Collection<Value.Range> ranges, final String role, final String principal) { return Resource.newBuilder() .setType(Value.Type.RANGES) .setName(name) .setRanges(Value.Ranges.newBuilder().addAllRange(ranges)) .setRole(role) .setReservation(Resource.ReservationInfo.newBuilder() .setPrincipal(principal) .build()) .build(); }
public static Protos.Value.Ranges fromRangeList(List<Range> ranges) { return Protos.Value.Ranges.newBuilder().addAllRange(ranges).build(); }
public static Value getZero(Value.Type type) { switch (type) { case SCALAR: Value.Scalar scalar = Value.Scalar.newBuilder().setValue(0).build(); return Value.newBuilder().setType(type).setScalar(scalar).build(); case RANGES: Value.Ranges ranges = Value.Ranges.newBuilder().addAllRange(Collections.emptyList()).build(); return Value.newBuilder().setType(type).setRanges(ranges).build(); default: throw new IllegalArgumentException( String.format("Unsupported type %s for zero value", type)); } } }
private static Value.Ranges add(Value.Ranges ranges1, Value.Ranges ranges2) { List<Range> list1 = ranges1.getRangeList(); List<Range> list2 = ranges2.getRangeList(); List<Range> list = RangeUtils.mergeRanges(list1, list2); return Value.Ranges.newBuilder().addAllRange(list).build(); }
private static Value.Ranges subtract(Value.Ranges ranges1, Value.Ranges ranges2) { List<Range> list1 = ranges1.getRangeList(); List<Range> list2 = ranges2.getRangeList(); List<Range> list = RangeUtils.subtractRanges(list1, list2); return Value.Ranges.newBuilder().addAllRange(list).build(); }