Class GrpcReadStream<T>

java.lang.Object
io.vertx.reactivex.grpc.common.GrpcReadStream<T>
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate, ReadStream<T>, StreamBase
Direct Known Subclasses:
GrpcClientResponse, GrpcServerRequest

public class GrpcReadStream<T> extends Object implements io.vertx.lang.rx.RxDelegate, ReadStream<T>
  • Field Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<GrpcReadStream> __TYPE_ARG
    • __typeArg_0

      public final io.vertx.lang.rx.TypeArg<T> __typeArg_0
  • Constructor Details

    • GrpcReadStream

      public GrpcReadStream(GrpcReadStream delegate)
    • GrpcReadStream

      public GrpcReadStream(Object delegate, io.vertx.lang.rx.TypeArg<T> typeArg_0)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDelegate

      public GrpcReadStream getDelegate()
      Specified by:
      getDelegate in interface ReadStream<T>
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
      Specified by:
      getDelegate in interface StreamBase
    • toObservable

      public Observable<T> toObservable()
      Specified by:
      toObservable in interface ReadStream<T>
    • toFlowable

      public Flowable<T> toFlowable()
      Specified by:
      toFlowable in interface ReadStream<T>
    • pipe

      public Pipe<T> pipe()
      Pause this stream and return a to transfer the elements of this stream to a destination .

      The stream will be resumed when the pipe will be wired to a WriteStream.

      Specified by:
      pipe in interface ReadStream<T>
      Returns:
      a pipe
    • pipeTo

      public Future<Void> pipeTo(WriteStream<T> dst)
      Pipe this ReadStream to the WriteStream.

      Elements emitted by this stream will be written to the write stream until this stream ends or fails.

      Specified by:
      pipeTo in interface ReadStream<T>
      Parameters:
      dst - the destination write stream
      Returns:
      a future notified when the write stream will be ended with the outcome
    • rxPipeTo

      public Completable rxPipeTo(WriteStream<T> dst)
      Pipe this ReadStream to the WriteStream.

      Elements emitted by this stream will be written to the write stream until this stream ends or fails.

      Specified by:
      rxPipeTo in interface ReadStream<T>
      Parameters:
      dst - the destination write stream
      Returns:
      a future notified when the write stream will be ended with the outcome
    • headers

      public MultiMap headers()
      Returns:
      the to read metadata headers
    • encoding

      public String encoding()
      Returns:
      the stream encoding, e.g. identity or gzip
    • format

      public WireFormat format()
      Returns:
      the message format, e.g. proto or json
    • messageHandler

      public GrpcReadStream<T> messageHandler(Handler<GrpcMessage> handler)
      Set a handler to be notified with incoming encoded messages. The handler is responsible for fully decoding incoming messages, including compression.
      Parameters:
      handler - the message handler
      Returns:
      a reference to this, so the API can be used fluently
    • errorHandler

      public GrpcReadStream<T> errorHandler(Handler<GrpcError> handler)
      Set a handler to be notified with gRPC errors.
      Parameters:
      handler - the error handler
      Returns:
      a reference to this, so the API can be used fluently
    • exceptionHandler

      public GrpcReadStream<T> exceptionHandler(Handler<Throwable> handler)
      Description copied from interface: ReadStream
      Set an exception handler on the read stream.
      Specified by:
      exceptionHandler in interface ReadStream<T>
      Specified by:
      exceptionHandler in interface StreamBase
      Parameters:
      handler - the exception handler
      Returns:
      a reference to this, so the API can be used fluently
    • handler

      public GrpcReadStream<T> handler(Handler<T> handler)
      Description copied from interface: ReadStream
      Set a data handler. As data is read, the handler will be called with the data.
      Specified by:
      handler in interface ReadStream<T>
      Parameters:
      handler -
      Returns:
      a reference to this, so the API can be used fluently
    • pause

      public GrpcReadStream<T> pause()
      Description copied from interface: ReadStream
      Pause the ReadStream, it sets the buffer in fetch mode and clears the actual demand.

      While it's paused, no data will be sent to the data handler.

      Specified by:
      pause in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • resume

      public GrpcReadStream<T> resume()
      Description copied from interface: ReadStream
      Resume reading, and sets the buffer in flowing mode.

      If the ReadStream has been paused, reading will recommence on it.

      Specified by:
      resume in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • fetch

      public GrpcReadStream<T> fetch(long l)
      Description copied from interface: ReadStream
      Fetch the specified amount of elements. If the ReadStream has been paused, reading will recommence with the specified amount of items, otherwise the specified amount will be added to the current stream demand.
      Specified by:
      fetch in interface ReadStream<T>
      Parameters:
      l -
      Returns:
      a reference to this, so the API can be used fluently
    • endHandler

      public GrpcReadStream<T> endHandler(Handler<Void> handler)
      Description copied from interface: ReadStream
      Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
      Specified by:
      endHandler in interface ReadStream<T>
      Parameters:
      handler -
      Returns:
      a reference to this, so the API can be used fluently
    • last

      public Future<T> last()
      Returns:
      the last element of the stream
    • rxLast

      public Single<T> rxLast()
      Returns:
      the last element of the stream
    • end

      public Future<Void> end()
      Returns:
      a future signaling when the response has been fully received successfully or failed
    • rxEnd

      public Completable rxEnd()
      Returns:
      a future signaling when the response has been fully received successfully or failed
    • invalidMessageHandler

      public GrpcReadStream<T> invalidMessageHandler(Handler<InvalidMessageException> handler)
      Set a message handler that is reported with invalid message errors.

      Warning: setting this handler overwrite the default handler which takes appropriate measure when an invalid message is encountered such as cancelling the stream. This handler should be set when control over invalid messages is required.

      Parameters:
      handler - the invalid message handler
      Returns:
      a reference to this, so the API can be used fluently
    • newInstance

      public static <T> GrpcReadStream<T> newInstance(GrpcReadStream arg)
    • newInstance

      public static <T> GrpcReadStream<T> newInstance(GrpcReadStream arg, io.vertx.lang.rx.TypeArg<T> __typeArg_T)