| 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.v1_13_1.com.google.protobuf.ByteString>)OutputStreambecomes full. | 
| OutboundObserverFactory.BasicFactory<ReqT,RespT> | Creates an outbound observer for the given inbound observer. | 
| Class | Description | 
|---|---|
| AdvancingPhaser | A  Phaserwhich never terminates. | 
| BufferingStreamObserver<T> | A thread safe  StreamObserverwhich uses a bounded queue to pass elements to a processing
 thread responsible for interacting with the underlyingCallStreamObserver. | 
| DataStreams | DataStreams.inbound(Iterator)treats multipleByteStrings as a single input stream andDataStreams.outbound(OutputChunkConsumer)treats a singleOutputStreamas multipleByteStrings. | 
| 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.OutputChunkConsumeras anOutputStream. | 
| DirectStreamObserver<T> | A  StreamObserverwhich uses synchronization on the underlyingCallStreamObserverto provide thread safety. | 
| ForwardingClientResponseObserver<ReqT,RespT> | A  ClientResponseObserverwhich delegates allStreamObservercalls. | 
| OutboundObserverFactory | Creates factories which determine an underlying  StreamObserverimplementation to use in
 to interact with fn execution APIs. | 
| SynchronizedStreamObserver<V> | A  StreamObserverwhich provides synchronous access access to an underlyingStreamObserver. |