Package org.apache.beam.sdk.fn.stream
Class BufferingStreamObserver<T extends @NonNull Object>
java.lang.Object
org.apache.beam.sdk.fn.stream.BufferingStreamObserver<T>
- All Implemented Interfaces:
org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<T>
@ThreadSafe
public final class BufferingStreamObserver<T extends @NonNull Object>
extends Object
implements org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<T>
A thread safe
StreamObserver
which uses a bounded queue to pass elements to a processing
thread responsible for interacting with the underlying CallStreamObserver
.
Flow control with the underlying CallStreamObserver
is handled with a Phaser
which waits for advancement of the phase if the CallStreamObserver
is not ready. Callers
are expected to advance the Phaser
whenever the underlying CallStreamObserver
becomes ready.
-
Constructor Summary
ConstructorsConstructorDescriptionBufferingStreamObserver
(Phaser phaser, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.CallStreamObserver<T> outboundObserver, ExecutorService executor, int bufferSize) -
Method Summary
Modifier and TypeMethodDescriptionint
void
void
void
-
Constructor Details
-
BufferingStreamObserver
public BufferingStreamObserver(Phaser phaser, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.CallStreamObserver<T> outboundObserver, ExecutorService executor, int bufferSize)
-
-
Method Details
-
onNext
-
onError
-
onCompleted
public void onCompleted() -
getBufferSize
public int getBufferSize()
-