@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 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); }
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; }
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); }); }
@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; }
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; }
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())); }
/** * 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()); }
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()); }
@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()); }
/** * <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(); }