| Interface | Description | 
|---|---|
| DataStreams.OutputChunkConsumer<T> | 
 A callback which is invoked whenever the  
DataStreams.outbound(org.apache.beam.sdk.fn.stream.DataStreams.OutputChunkConsumer<org.apache.beam.vendor.grpc.v1p36p0.com.google.protobuf.ByteString>) OutputStream becomes full. | 
| OutboundObserverFactory.BasicFactory<ReqT,RespT> | 
 Creates an outbound observer for the given inbound observer. 
 | 
| Class | Description | 
|---|---|
| AdvancingPhaser | 
 A  
Phaser which never terminates. | 
| BufferingStreamObserver<T> | 
 A thread safe  
StreamObserver which uses a bounded queue to pass elements to a processing
 thread responsible for interacting with the underlying CallStreamObserver. | 
| DataStreams | 
DataStreams.inbound(Iterator) treats multiple ByteStrings as a single input stream and
 DataStreams.outbound(OutputChunkConsumer) treats a single OutputStream as multiple ByteStrings. | 
| DataStreams.BlockingQueueIterator<T> | 
 Allows for one or more writing threads to append values to this iterator while one reading
 thread reads values. 
 | 
| DataStreams.DataStreamDecoder<T> | |
| DataStreams.ElementDelimitedOutputStream | 
 An adapter which wraps an  
DataStreams.OutputChunkConsumer as an OutputStream. | 
| DirectStreamObserver<T> | 
 A  
StreamObserver which uses synchronization on the underlying CallStreamObserver
 to provide thread safety. | 
| ForwardingClientResponseObserver<ReqT,RespT> | 
 A  
ClientResponseObserver which delegates all StreamObserver calls. | 
| OutboundObserverFactory | 
 Creates factories which determine an underlying  
StreamObserver implementation to use in
 to interact with fn execution APIs. | 
| SynchronizedStreamObserver<V> | 
 A  
StreamObserver which provides synchronous access access to an underlying StreamObserver. |