Interface GrpcReadStream<T>

All Superinterfaces:
ReadStream<T>, StreamBase
All Known Subinterfaces:
GrpcClientResponse<Req,Resp>, GrpcServerRequest<Req,Resp>

public interface GrpcReadStream<T> extends ReadStream<T>
  • Method Details

    • headers

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

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

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

      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
    • invalidMessageHandler

      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
    • errorHandler

      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

      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

      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>
      Returns:
      a reference to this, so the API can be used fluently
    • pause

      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

      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

      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>
      Returns:
      a reference to this, so the API can be used fluently
    • endHandler

      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>
      Returns:
      a reference to this, so the API can be used fluently
    • last

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

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