io.vertx.rxjava3.grpc.common

## Class GrpcWriteStream<T>

- java.lang.Object
- - io.vertx.rxjava3.grpc.common.GrpcWriteStream<T>

- All Implemented Interfaces:
    io.vertx.lang.rx.RxDelegate, StreamBase, WriteStream<T>
  Direct Known Subclasses:
    GrpcClientRequest, GrpcServerResponse

      public class GrpcWriteStream<T>
      extends Object
      implements io.vertx.lang.rx.RxDelegate, WriteStream<T>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static io.vertx.lang.rx.TypeArg<GrpcWriteStream>` | `__TYPE_ARG`
    `io.vertx.lang.rx.TypeArg<T>` | `__typeArg_0`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GrpcWriteStream(GrpcWriteStream delegate)`
    `GrpcWriteStream(Object delegate, io.vertx.lang.rx.TypeArg<T> typeArg_0)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancel()` Cancel the stream.
    `GrpcWriteStream<T>` | `drainHandler(Handler<Void> handler)` Set a drain handler on the stream.
    `GrpcWriteStream<T>` | `encoding(String encoding)` Set the stream encoding, e.g `identity` or `gzip`.
    `Completable` | `end()` Same as `WriteStream.end()` but with an `handler` called when the operation completes
    `Completable` | `end(T data)` Same as but with an `handler` called when the operation completes
    `Completable` | `endMessage(GrpcMessage message)` End the stream with an encoded gRPC message.
    `boolean` | `equals(Object o)`
    `GrpcWriteStream<T>` | `exceptionHandler(Handler<Throwable> handler)` Set an exception handler on the write stream.
    `GrpcWriteStream` | `getDelegate()`
    `int` | `hashCode()`
    `MultiMap` | `headers()`
    `static <T> GrpcWriteStream<T>` | `newInstance(GrpcWriteStream arg)`
    `static <T> GrpcWriteStream<T>` | `newInstance(GrpcWriteStream arg, io.vertx.lang.rx.TypeArg<T> __typeArg_T)`
    `Completable` | `rxEnd()` Same as `WriteStream.end()` but with an `handler` called when the operation completes
    `Completable` | `rxEnd(T data)` Same as but with an `handler` called when the operation completes
    `Completable` | `rxEndMessage(GrpcMessage message)` End the stream with an encoded gRPC message.
    `Completable` | `rxWrite(T data)` Same as but with an `handler` called when the operation completes
    `Completable` | `rxWriteMessage(GrpcMessage message)` Write an encoded gRPC message.
    `GrpcWriteStream<T>` | `setWriteQueueMaxSize(int i)` Set the maximum size of the write queue to `maxSize`.
    `WriteStreamObserver<T>` | `toObserver()`
    `String` | `toString()`
    `WriteStreamSubscriber<T>` | `toSubscriber()`
    `Completable` | `write(T data)` Same as but with an `handler` called when the operation completes
    `Completable` | `writeMessage(GrpcMessage message)` Write an encoded gRPC message.
    `boolean` | `writeQueueFull()` This will return `true` if there are more bytes in the write queue than the value set using `setWriteQueueMaxSize(int)`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface io.vertx.rxjava3.core.streams.WriteStream

      `newInstance, newInstance`

    - ### Methods inherited from interface io.vertx.rxjava3.core.streams.StreamBase

      `newInstance`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<GrpcWriteStream> __TYPE_ARG

    - #### __typeArg_0

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

  - ### Constructor Detail

    - #### GrpcWriteStream

          public GrpcWriteStream(GrpcWriteStream delegate)

    - #### GrpcWriteStream

          public GrpcWriteStream(Object delegate,
                                 io.vertx.lang.rx.TypeArg<T> typeArg_0)

  - ### Method Detail

    - #### 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 GrpcWriteStream getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`
      Specified by:
        `getDelegate` in interface `StreamBase`
      Specified by:
        `getDelegate` in interface `WriteStream<T>`

    - #### toObserver

          public WriteStreamObserver<T> toObserver()

      Specified by:
        `toObserver` in interface `WriteStream<T>`

    - #### toSubscriber

          public WriteStreamSubscriber<T> toSubscriber()

      Specified by:
        `toSubscriber` in interface `WriteStream<T>`

    - #### write

          public Completable write(T data)

      Same as but with an `handler` called when the operation completes
      Specified by:
        `write` in interface `WriteStream<T>`
      Parameters:
        `data` -
      Returns:

    - #### rxWrite

          public Completable rxWrite(T data)

      Same as but with an `handler` called when the operation completes
      Specified by:
        `rxWrite` in interface `WriteStream<T>`
      Parameters:
        `data` -
      Returns:

    - #### end

          public Completable end()

      Same as `WriteStream.end()` but with an `handler` called when the operation completes
      Specified by:
        `end` in interface `WriteStream<T>`
      Returns:

    - #### rxEnd

          public Completable rxEnd()

      Same as `WriteStream.end()` but with an `handler` called when the operation completes
      Specified by:
        `rxEnd` in interface `WriteStream<T>`
      Returns:

    - #### end

          public Completable end(T data)

      Same as but with an `handler` called when the operation completes
      Specified by:
        `end` in interface `WriteStream<T>`
      Parameters:
        `data` -
      Returns:

    - #### rxEnd

          public Completable rxEnd(T data)

      Same as but with an `handler` called when the operation completes
      Specified by:
        `rxEnd` in interface `WriteStream<T>`
      Parameters:
        `data` -
      Returns:

    - #### writeQueueFull

          public boolean writeQueueFull()

      This will return `true` if there are more bytes in the write queue than the value set using `setWriteQueueMaxSize(int)`
      Specified by:
        `writeQueueFull` in interface `WriteStream<T>`
      Returns:
        `true` if write queue is full

    - #### headers

          public MultiMap headers()

      Returns:
        the to reader metadata headers

    - #### encoding

          public GrpcWriteStream<T> encoding(String encoding)

      Set the stream encoding, e.g `identity` or `gzip`. It must be called before sending any message, otherwise {@code identity will be used.
      Parameters:
        `encoding` - the target message encoding
      Returns:
        a reference to this, so the API can be used fluently

    - #### exceptionHandler

          public 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

          public 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

          public 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

          public Completable writeMessage(GrpcMessage message)

      Write an encoded gRPC message.
      Parameters:
        `message` - the message
      Returns:
        a future completed with the result

    - #### rxWriteMessage

          public Completable rxWriteMessage(GrpcMessage message)

      Write an encoded gRPC message.
      Parameters:
        `message` - the message
      Returns:
        a future completed with the result

    - #### endMessage

          public Completable endMessage(GrpcMessage message)

      End the stream with an encoded gRPC message.
      Parameters:
        `message` - the message
      Returns:
        a future completed with the result

    - #### rxEndMessage

          public Completable rxEndMessage(GrpcMessage message)

      End the stream with an encoded gRPC message.
      Parameters:
        `message` - the message
      Returns:
        a future completed with the result

    - #### cancel

          public void cancel()

      Cancel the stream.

    - #### newInstance

          public static <T> GrpcWriteStream<T> newInstance(GrpcWriteStream arg)

    - #### newInstance

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

Copyright © 2025 Eclipse. All rights reserved.