@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasStreamInfo()) { hash = (37 * hash) + STREAMINFO_FIELD_NUMBER; hash = (53 * hash) + getStreamInfo().hashCode(); } hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getTimestamp()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
public io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest buildPartial() { io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest result = new io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest(this); if (streamInfoBuilder_ == null) { result.streamInfo_ = streamInfo_; } else { result.streamInfo_ = streamInfoBuilder_.build(); } result.timestamp_ = timestamp_; onBuilt(); return result; }
break; default: { if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable();
@Override public void getSegments(GetSegmentsRequest request, StreamObserver<SegmentsAtTime> responseObserver) { if (request.getStreamInfo().getStream().equals("stream1")) { SegmentId segment1 = ModelHelper.createSegmentId("scope1", "stream1", 0); SegmentId segment2 = ModelHelper.createSegmentId("scope1", "stream1", 1); .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream8")) { SegmentId segment1 = ModelHelper.createSegmentId("scope1", "stream8", 0); SegmentId segment2 = ModelHelper.createSegmentId("scope1", "stream8", 1);
@io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "getSegments", requestType = io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest.class, responseType = io.pravega.controller.stream.api.grpc.v1.Controller.SegmentsAtTime.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) public static io.grpc.MethodDescriptor<io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentsAtTime> getGetSegmentsMethod() { io.grpc.MethodDescriptor<io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentsAtTime> getGetSegmentsMethod; if ((getGetSegmentsMethod = ControllerServiceGrpc.getGetSegmentsMethod) == null) { synchronized (ControllerServiceGrpc.class) { if ((getGetSegmentsMethod = ControllerServiceGrpc.getGetSegmentsMethod) == null) { ControllerServiceGrpc.getGetSegmentsMethod = getGetSegmentsMethod = io.grpc.MethodDescriptor.<io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentsAtTime>newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName( "io.pravega.controller.stream.api.grpc.v1.ControllerService", "getSegments")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( io.pravega.controller.stream.api.grpc.v1.Controller.SegmentsAtTime.getDefaultInstance())) .setSchemaDescriptor(new ControllerServiceMethodDescriptorSupplier("getSegments")) .build(); } } } return getGetSegmentsMethod; }
@Override public CompletableFuture<Map<Segment, Long>> getSegmentsAtTime(final Stream stream, final long timestamp) { Exceptions.checkNotClosed(closed.get(), this); Preconditions.checkNotNull(stream, "stream"); long traceId = LoggerHelpers.traceEnter(log, "getSegmentsAtTime", stream, timestamp); final CompletableFuture<SegmentsAtTime> result = this.retryConfig.runAsync(() -> { RPCAsyncCallback<SegmentsAtTime> callback = new RPCAsyncCallback<>(traceId, "getSegmentsAtTime"); StreamInfo streamInfo = ModelHelper.createStreamInfo(stream.getScope(), stream.getStreamName()); GetSegmentsRequest request = GetSegmentsRequest.newBuilder() .setStreamInfo(streamInfo) .setTimestamp(timestamp) .build(); client.getSegments(request, callback); return callback.getFuture(); }, this.executor); return result.thenApply(segments -> { log.debug("Received the following data from the controller {}", segments.getSegmentsList()); return segments.getSegmentsList() .stream() .collect(Collectors.toMap(location -> ModelHelper.encode(location.getSegmentId()), location -> location.getOffset())); }).whenComplete((x, e) -> { if (e != null) { log.warn("getSegmentsAtTime failed: ", e); } LoggerHelpers.traceLeave(log, "getSegmentsAtTime", traceId); }); }
@Override public void getSegments(GetSegmentsRequest request, StreamObserver<SegmentsAtTime> responseObserver) { log.debug("getSegments called for stream " + request.getStreamInfo().getScope() + "/" + request.getStreamInfo().getStream()); authenticateExecuteAndProcessResults(() -> this.authHelper.checkAuthorizationAndCreateToken(request.getStreamInfo().getScope() + "/" + request.getStreamInfo().getStream(), AuthHandler.Permissions.READ_UPDATE), delegationToken -> controllerService.getSegmentsAtHead(request.getStreamInfo().getScope(), request.getStreamInfo().getStream()) .thenApply(segments -> { SegmentsAtTime.Builder builder = SegmentsAtTime.newBuilder() .setDelegationToken(delegationToken); for (Entry<SegmentId, Long> entry : segments.entrySet()) { builder.addSegments(SegmentLocation.newBuilder() .setSegmentId(entry.getKey()) .setOffset(entry.getValue()) .build()); } return builder.build(); }), responseObserver); }
@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.GetSegmentsRequest)) { return super.equals(obj); } io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest other = (io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest) obj; boolean result = true; result = result && (hasStreamInfo() == other.hasStreamInfo()); if (hasStreamInfo()) { result = result && getStreamInfo() .equals(other.getStreamInfo()); } result = result && (getTimestamp() == other.getTimestamp()); result = result && unknownFields.equals(other.unknownFields); return result; }
public io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest getDefaultInstanceForType() { return io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest.getDefaultInstance(); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (streamInfo_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getStreamInfo()); } if (timestamp_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(2, timestamp_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; }
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (streamInfo_ != null) { output.writeMessage(1, getStreamInfo()); } if (timestamp_ != 0L) { output.writeInt64(2, timestamp_); } unknownFields.writeTo(output); }
@Test public void getSegmentsTest() { createScopeAndStream(SCOPE1, STREAM1, ScalingPolicy.fixed(2)); ResultObserver<SegmentsAtTime> result2 = new ResultObserver<>(); this.controllerService.getSegments(GetSegmentsRequest.newBuilder() .setStreamInfo(ModelHelper.createStreamInfo(SCOPE1, STREAM1)) .setTimestamp(0L) .build(), result2); final SegmentsAtTime segmentRanges = result2.get(); Assert.assertEquals(2, segmentRanges.getSegmentsCount()); }
/** * <code>.io.pravega.controller.stream.api.grpc.v1.StreamInfo streamInfo = 1;</code> */ public io.pravega.controller.stream.api.grpc.v1.Controller.StreamInfoOrBuilder getStreamInfoOrBuilder() { return getStreamInfo(); }
public io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest build() { io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
public Builder mergeFrom(io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest other) { if (other == io.pravega.controller.stream.api.grpc.v1.Controller.GetSegmentsRequest.getDefaultInstance()) return this; if (other.hasStreamInfo()) { mergeStreamInfo(other.getStreamInfo()); } if (other.getTimestamp() != 0L) { setTimestamp(other.getTimestamp()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }