public static final Controller.StreamCutRangeResponse createStreamCutRangeResponse(final String scope, final String stream, final List<SegmentId> segments, String delegationToken) { Exceptions.checkNotNullOrEmpty(scope, "scope"); Exceptions.checkNotNullOrEmpty(stream, "stream"); Exceptions.checkArgument(segments.stream().allMatch(x -> x.getStreamInfo().getScope().equals(scope) && x.getStreamInfo().getStream().equals(stream)), "streamInfo", "stream info does not match segment id", scope, stream, segments); return Controller.StreamCutRangeResponse.newBuilder() .addAllSegments(segments) .setDelegationToken(delegationToken) .build(); }
@Override public void getSegmentsBetween(Controller.StreamCutRange request, StreamObserver<Controller.StreamCutRangeResponse> responseObserver) { if (request.getStreamInfo().getStream().equals("stream1")) { SegmentId segment1 = ModelHelper.createSegmentId("scope1", "stream1", 0L); SegmentId segment2 = ModelHelper.createSegmentId("scope1", "stream1", 1L); responseObserver.onNext(Controller.StreamCutRangeResponse.newBuilder().addSegments(segment1).addSegments(segment2).build()); responseObserver.onCompleted(); } else { responseObserver.onError(Status.INTERNAL.withDescription("Server error").asRuntimeException()); } }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {