Class BufferingStreamObserver<T extends @NonNull java.lang.Object>

  • All Implemented Interfaces:
    org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.StreamObserver<T>

    @ThreadSafe
    public final class BufferingStreamObserver<T extends @NonNull java.lang.Object>
    extends java.lang.Object
    implements org.apache.beam.vendor.grpc.v1p48p1.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

      Constructors 
      Constructor Description
      BufferingStreamObserver​(java.util.concurrent.Phaser phaser, org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.CallStreamObserver<T> outboundObserver, java.util.concurrent.ExecutorService executor, int bufferSize)  
    • Constructor Detail

      • BufferingStreamObserver

        public BufferingStreamObserver​(java.util.concurrent.Phaser phaser,
                                       org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.CallStreamObserver<T> outboundObserver,
                                       java.util.concurrent.ExecutorService executor,
                                       int bufferSize)
    • Method Detail

      • onNext

        public void onNext​(T value)
        Specified by:
        onNext in interface org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.StreamObserver<T extends @NonNull java.lang.Object>
      • onError

        public void onError​(java.lang.Throwable t)
        Specified by:
        onError in interface org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.StreamObserver<T extends @NonNull java.lang.Object>
      • onCompleted

        public void onCompleted()
        Specified by:
        onCompleted in interface org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.StreamObserver<T extends @NonNull java.lang.Object>
      • getBufferSize

        public int getBufferSize()