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.Listener
into a blockingIterator
.The class is not thread-safe, but it does permit
ClientCall.Listener
calls in a separate thread fromIterator
calls.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ClientCalls.BlockingResponseStream.QueuingListener
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.BlockingQueue<java.lang.Object>
buffer
private ClientCall<?,T>
call
private java.lang.Object
last
private 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 boolean
hasNext()
(package private) ClientCalls.StartableListener<T>
listener()
T
next()
void
remove()
private java.lang.Object
waitForNext()
-
-
-
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:
hasNext
in interfacejava.util.Iterator<T>
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<T>
-
-