aboutsummaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authordapengzhang0 <zdapeng@google.com>2017-11-22 14:32:55 -0800
committerZHANG Dapeng <zdapeng@google.com>2017-11-22 16:09:59 -0800
commitdc71083ce913152763e86ffbc79a78e88b6f04a3 (patch)
treec4ccf6e965335042ae2d0d43297cc865564d3f06 /testing
parent83c417b639e68fc4897cab534869fdcb80118c38 (diff)
downloadgrpc-grpc-java-dc71083ce913152763e86ffbc79a78e88b6f04a3.tar.gz
testing: delete deprecated StreamRecorder
Diffstat (limited to 'testing')
-rw-r--r--testing/src/main/java/io/grpc/testing/StreamRecorder.java118
1 files changed, 0 insertions, 118 deletions
diff --git a/testing/src/main/java/io/grpc/testing/StreamRecorder.java b/testing/src/main/java/io/grpc/testing/StreamRecorder.java
deleted file mode 100644
index 9e5df2526..000000000
--- a/testing/src/main/java/io/grpc/testing/StreamRecorder.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2014, gRPC Authors All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.grpc.testing;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
-import io.grpc.ExperimentalApi;
-import io.grpc.stub.StreamObserver;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
-
-/**
- * Utility implementation of {@link StreamObserver} used in testing. Records all the observed
- * values produced by the stream as well as any errors.
- *
- * @deprecated Not for public use
- */
-@Deprecated
-@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1791")
-public class StreamRecorder<T> implements StreamObserver<T> {
-
- /**
- * Creates a new recorder.
- */
- public static <T> StreamRecorder<T> create() {
- return new StreamRecorder<T>();
- }
-
- private final CountDownLatch latch;
- private final List<T> results;
- private Throwable error;
- private final SettableFuture<T> firstValue;
-
- private StreamRecorder() {
- firstValue = SettableFuture.create();
- latch = new CountDownLatch(1);
- results = Collections.synchronizedList(new ArrayList<T>());
- }
-
- @Override
- public void onNext(T value) {
- if (!firstValue.isDone()) {
- firstValue.set(value);
- }
- results.add(value);
- }
-
- @Override
- public void onError(Throwable t) {
- if (!firstValue.isDone()) {
- firstValue.setException(t);
- }
- error = t;
- latch.countDown();
- }
-
- @Override
- public void onCompleted() {
- if (!firstValue.isDone()) {
- firstValue.setException(new IllegalStateException("No first value provided"));
- }
- latch.countDown();
- }
-
- /**
- * Waits for the stream to terminate.
- */
- public void awaitCompletion() throws Exception {
- latch.await();
- }
-
- /**
- * Waits a fixed timeout for the stream to terminate.
- */
- public boolean awaitCompletion(int timeout, TimeUnit unit) throws Exception {
- return latch.await(timeout, unit);
- }
-
- /**
- * Returns the current set of received values.
- */
- public List<T> getValues() {
- return Collections.unmodifiableList(results);
- }
-
- /**
- * Returns the stream terminating error.
- */
- @Nullable public Throwable getError() {
- return error;
- }
-
- /**
- * Returns a {@link ListenableFuture} for the first value received from the stream. Useful
- * for testing unary call patterns.
- */
- public ListenableFuture<T> firstValue() {
- return firstValue;
- }
-}