@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange)) { return super.equals(obj); } io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange other = (io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange) obj; boolean result = true; result = result && (hasSegmentId() == other.hasSegmentId()); if (hasSegmentId()) { result = result && getSegmentId() .equals(other.getSegmentId()); } result = result && ( java.lang.Double.doubleToLongBits(getMinKey()) == java.lang.Double.doubleToLongBits( other.getMinKey())); result = result && ( java.lang.Double.doubleToLongBits(getMaxKey()) == java.lang.Double.doubleToLongBits( other.getMaxKey())); result = result && unknownFields.equals(other.unknownFields); return result; }
/** * <code>.io.pravega.controller.stream.api.grpc.v1.SegmentRange segment = 1;</code> */ public Builder mergeSegment(io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange value) { if (segmentBuilder_ == null) { if (segment_ != null) { segment_ = io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange.newBuilder(segment_).mergeFrom(value).buildPartial(); } else { segment_ = value; } onChanged(); } else { segmentBuilder_.mergeFrom(value); } return this; } /**
public io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange buildPartial() { io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange result = new io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange(this); if (segmentIdBuilder_ == null) { result.segmentId_ = segmentId_; } else { result.segmentId_ = segmentIdBuilder_.build(); } result.minKey_ = minKey_; result.maxKey_ = maxKey_; onBuilt(); return result; }
for (Entry<SegmentId, Pair<Double, Double>> entry : result.entrySet()) { builder.addSegments(SuccessorResponse.SegmentEntry.newBuilder() .setSegment(Controller.SegmentRange.newBuilder() .setSegmentId(entry.getKey()) .setMinKey(entry.getValue().getLeft()) for (Entry<SegmentId, Pair<Double, Double>> entry : result.entrySet()) { builder.addSegments(SuccessorResponse.SegmentEntry.newBuilder() .setSegment(Controller.SegmentRange.newBuilder() .setSegmentId(entry.getKey()) .setMinKey(entry.getValue().getLeft())
final SegmentRanges segmentRanges = result3.get(); Assert.assertEquals(3, segmentRanges.getSegmentRangesCount()); Assert.assertEquals(0, segmentRanges.getSegmentRanges(0).getSegmentId().getSegmentId()); Assert.assertEquals(computeSegmentId(2, 1), segmentRanges.getSegmentRanges(1).getSegmentId().getSegmentId()); Assert.assertEquals(computeSegmentId(3, 1), segmentRanges.getSegmentRanges(2).getSegmentId().getSegmentId());
@Override public CompletableFuture<StreamSegments> getCurrentSegments(final String scope, final String stream) { Exceptions.checkNotClosed(closed.get(), this); Exceptions.checkNotNullOrEmpty(scope, "scope"); Exceptions.checkNotNullOrEmpty(stream, "stream"); long traceId = LoggerHelpers.traceEnter(log, "getCurrentSegments", scope, stream); final CompletableFuture<SegmentRanges> result = this.retryConfig.runAsync(() -> { RPCAsyncCallback<SegmentRanges> callback = new RPCAsyncCallback<>(traceId, "getCurrentSegments"); client.getCurrentSegments(ModelHelper.createStreamInfo(scope, stream), callback); return callback.getFuture(); }, this.executor); return result.thenApply(ranges -> { log.debug("Received the following data from the controller {}", ranges.getSegmentRangesList()); NavigableMap<Double, SegmentWithRange> rangeMap = new TreeMap<>(); for (SegmentRange r : ranges.getSegmentRangesList()) { Preconditions.checkState(r.getMinKey() <= r.getMaxKey(), "Min keyrange %s was not less than maximum keyRange %s for segment %s", r.getMinKey(), r.getMaxKey(), r.getSegmentId()); rangeMap.put(r.getMaxKey(), new SegmentWithRange(ModelHelper.encode(r.getSegmentId()), r.getMinKey(), r.getMaxKey())); } return new StreamSegments(rangeMap, ranges.getDelegationToken()); }).whenComplete((x, e) -> { if (e != null) { log.warn("getCurrentSegments failed: ", e); } LoggerHelpers.traceLeave(log, "getCurrentSegments", traceId); }); }
public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (segmentId_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getSegmentId()); } if (minKey_ != 0D) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(2, minKey_); } if (maxKey_ != 0D) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(3, maxKey_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.pravega.controller.stream.api.grpc.v1.Controller.SuccessorResponse.SegmentEntry)) { return super.equals(obj); } io.pravega.controller.stream.api.grpc.v1.Controller.SuccessorResponse.SegmentEntry other = (io.pravega.controller.stream.api.grpc.v1.Controller.SuccessorResponse.SegmentEntry) obj; boolean result = true; result = result && (hasSegment() == other.hasSegment()); if (hasSegment()) { result = result && getSegment() .equals(other.getSegment()); } result = result && getValueList() .equals(other.getValueList()); result = result && unknownFields.equals(other.unknownFields); return result; }
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasSegmentId()) { hash = (37 * hash) + SEGMENTID_FIELD_NUMBER; hash = (53 * hash) + getSegmentId().hashCode(); } hash = (37 * hash) + MINKEY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMinKey())); hash = (37 * hash) + MAXKEY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxKey())); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
public Builder mergeFrom(io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange other) { if (other == io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange.getDefaultInstance()) return this; if (other.hasSegmentId()) { mergeSegmentId(other.getSegmentId()); } if (other.getMinKey() != 0D) { setMinKey(other.getMinKey()); } if (other.getMaxKey() != 0D) { setMaxKey(other.getMaxKey()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (segmentId_ != null) { output.writeMessage(1, getSegmentId()); } if (minKey_ != 0D) { output.writeDouble(2, minKey_); } if (maxKey_ != 0D) { output.writeDouble(3, maxKey_); } unknownFields.writeTo(output); }
private Controller.SegmentRange createSegmentRange(double minKey, double maxKey) { SegmentId.Builder segment = SegmentId.newBuilder().setStreamInfo(Controller.StreamInfo.newBuilder(). setScope("testScope").setStream("testStream")).setSegmentId(0); return Controller.SegmentRange.newBuilder().setSegmentId(segment) .setMinKey(minKey).setMaxKey(maxKey).build(); } }
private TxnSegments convert(CreateTxnResponse response) { NavigableMap<Double, SegmentWithRange> rangeMap = new TreeMap<>(); for (SegmentRange r : response.getActiveSegmentsList()) { Preconditions.checkState(r.getMinKey() <= r.getMaxKey()); rangeMap.put(r.getMaxKey(), new SegmentWithRange(ModelHelper.encode(r.getSegmentId()), r.getMinKey(), r.getMaxKey())); } StreamSegments segments = new StreamSegments(rangeMap, response.getDelegationToken()); return new TxnSegments(segments, ModelHelper.encode(response.getTxnId())); }
@Test public void createSuccessorResponse() { Controller.SegmentRange segmentRange = createSegmentRange(0.1, 0.5); Map<Controller.SegmentRange, List<Long>> inputMap = new HashMap<>(1); inputMap.put(segmentRange, Arrays.asList(1L)); Controller.SuccessorResponse successorResponse = ModelHelper.createSuccessorResponse(inputMap).build(); Assert.assertEquals(1, successorResponse.getSegmentsCount()); final SegmentId resultSegmentID = successorResponse.getSegments(0).getSegment().getSegmentId(); assertEquals("testScope", resultSegmentID.getStreamInfo().getScope()); assertEquals("testStream", resultSegmentID.getStreamInfo().getStream()); }
/** * Helper to convert SegmentRange to SegmentWithRange. * * @param segmentRange segmentRange * @return SegmentWithRange */ public static final SegmentWithRange encode(final SegmentRange segmentRange) { return new SegmentWithRange(encode(segmentRange.getSegmentId()), segmentRange.getMinKey(), segmentRange .getMaxKey()); }
/** * <code>.io.pravega.controller.stream.api.grpc.v1.SegmentId segmentId = 1;</code> */ public io.pravega.controller.stream.api.grpc.v1.Controller.SegmentIdOrBuilder getSegmentIdOrBuilder() { return getSegmentId(); }
public static final SegmentRange createSegmentRange(final String scope, final String stream, final long segmentId, final double rangeMinKey, final double rangeMaxKey) { Exceptions.checkNotNullOrEmpty(scope, "scope"); Exceptions.checkNotNullOrEmpty(stream, "stream"); return SegmentRange.newBuilder() .setSegmentId(createSegmentId(scope, stream, segmentId)) .setMinKey(rangeMinKey) .setMaxKey(rangeMaxKey) .build(); }
private StreamSegments getStreamSegments(List<SegmentRange> ranges) { NavigableMap<Double, SegmentWithRange> rangeMap = new TreeMap<>(); for (SegmentRange r : ranges) { rangeMap.put(r.getMaxKey(), new SegmentWithRange(ModelHelper.encode(r.getSegmentId()), r.getMinKey(), r.getMaxKey())); } return new StreamSegments(rangeMap, retrieveDelegationToken()); }