Interface GrpcWriteStream<T>

All Superinterfaces:
StreamBase, WriteStream<T>
All Known Subinterfaces:
GrpcClientRequest<Req,Resp>, GrpcServerResponse<Req,Resp>

public interface GrpcWriteStream<T> extends WriteStream<T>
  • Method Details

    • headers

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

      GrpcWriteStream<T> encoding(String encoding)

      Set the stream encoding, e.g. identity or gzip,

      • The encoding must be set before sending any message, otherwise identity will be used.
      • The encoding should also match the opposite endpoint expectations.
      Parameters:
      encoding - the target message encoding
      Returns:
      a reference to this, so the API can be used fluently
    • format

      GrpcWriteStream<T> format(WireFormat format)
      Set the stream format, e.g. proto or json. It must be called before sending any message, otherwise proto will be used.
      Parameters:
      format - the message format
      Returns:
      a reference to this, so the API can be used fluently
    • exceptionHandler

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

      GrpcWriteStream<T> setWriteQueueMaxSize(int i)
      Description copied from interface: WriteStream
      Set the maximum size of the write queue to maxSize. You will still be able to write to the stream even if there is more than maxSize items in the write queue. This is used as an indicator by classes such as Pipe to provide flow control.

      The value is defined by the implementation of the stream, e.g in bytes for a NetSocket, etc...

      Specified by:
      setWriteQueueMaxSize in interface WriteStream<T>
      Parameters:
      i - the max size of the write stream
      Returns:
      a reference to this, so the API can be used fluently
    • drainHandler

      GrpcWriteStream<T> drainHandler(Handler<Void> handler)
      Description copied from interface: WriteStream
      Set a drain handler on the stream. If the write queue is full, then the handler will be called when the write queue is ready to accept buffers again. See Pipe for an example of this being used.

      The stream implementation defines when the drain handler, for example it could be when the queue size has been reduced to maxSize / 2.

      Specified by:
      drainHandler in interface WriteStream<T>
      Parameters:
      handler - the handler
      Returns:
      a reference to this, so the API can be used fluently
    • writeMessage

      Future<Void> writeMessage(GrpcMessage message)
      Write an encoded gRPC message.
      Parameters:
      message - the message
      Returns:
      a future completed with the result
    • endMessage

      Future<Void> endMessage(GrpcMessage message)
      End the stream with an encoded gRPC message.
      Parameters:
      message - the message
      Returns:
      a future completed with the result
    • cancel

      void cancel()
      Cancel the stream.
    • isCancelled

      boolean isCancelled()
      Returns:
      whether the stream is cancelled