Package io.grpc.stub
Class ClientCalls.BlockingResponseStream<T>
- java.lang.Object
-
- io.grpc.stub.ClientCalls.BlockingResponseStream<T>
-
- All Implemented Interfaces:
java.util.Iterator<T>
- Enclosing class:
- ClientCalls
private static final class ClientCalls.BlockingResponseStream<T> extends java.lang.Object implements java.util.Iterator<T>Convert events on aClientCall.Listenerinto a blockingIterator.The class is not thread-safe, but it does permit
ClientCall.Listenercalls in a separate thread fromIteratorcalls.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classClientCalls.BlockingResponseStream.QueuingListener
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.BlockingQueue<java.lang.Object>bufferprivate ClientCall<?,T>callprivate java.lang.Objectlastprivate ClientCalls.StartableListener<T>listener
-
Constructor Summary
Constructors Constructor Description BlockingResponseStream(ClientCall<?,T> call)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhasNext()(package private) ClientCalls.StartableListener<T>listener()Tnext()voidremove()private java.lang.ObjectwaitForNext()
-
-
-
Field Detail
-
buffer
private final java.util.concurrent.BlockingQueue<java.lang.Object> buffer
-
listener
private final ClientCalls.StartableListener<T> listener
-
call
private final ClientCall<?,T> call
-
last
private java.lang.Object last
-
-
Constructor Detail
-
BlockingResponseStream
BlockingResponseStream(ClientCall<?,T> call)
-
-
Method Detail
-
listener
ClientCalls.StartableListener<T> listener()
-
waitForNext
private java.lang.Object waitForNext()
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfacejava.util.Iterator<T>
-
remove
public void remove()
- Specified by:
removein interfacejava.util.Iterator<T>
-
-