io.vertx.rxjava.core.streams

## Interface ReadStream<T>

- All Superinterfaces:
    StreamBase
  All Known Subinterfaces:
    WebSocketBase
  All Known Implementing Classes:
    AmqpReceiver, AsyncFile, CassandraRowStream, DatagramSocket, HttpClientResponse, HttpServerFileUpload, HttpServerRequest, JsonParser, KafkaConsumer, MessageConsumer, NetSocket, PgChannel, RabbitMQConsumer, RecordParser, RedisConnection, RowStream, ServerWebSocket, SockJSSocket, SQLRowStream, TestSuiteReport, TimeoutStream, WebSocket

      public interface ReadStream<T>
      extends StreamBase

  Represents a stream of items that can be read from.

  Any class that implements this interface can be used by a `Pipe` to pipe data from it to a `WriteStream`.

  ### Streaming mode

  The stream is either in flowing or fetch mode.
  Initially the stream is in flowing mode.
  - When the stream is in flowing mode, elements are delivered to the `handler`.
  - When the stream is in fetch mode, only the number of requested elements will be delivered to the `handler`.
  The mode can be changed with the `pause()`, `resume()` and `fetch(long)` methods:
  - Calling `resume()` sets the flowing mode
  - Calling `pause()` sets the fetch mode and resets the demand to `0`
  - Calling `fetch(long)` requests a specific amount of elements and adds it to the actual demand

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `ReadStream<T>` | `endHandler(Handler<Void> endHandler)` Set an end handler.
    `ReadStream<T>` | `exceptionHandler(Handler<Throwable> handler)` Set an exception handler on the read stream.
    `ReadStream<T>` | `fetch(long amount)` Fetch the specified `amount` of elements.
    `ReadStream` | `getDelegate()`
    `ReadStream<T>` | `handler(Handler<T> handler)` Set a data handler.
    `static <T> ReadStream<T>` | `newInstance(ReadStream arg)`
    `static <T> ReadStream<T>` | `newInstance(ReadStream arg, io.vertx.lang.rx.TypeArg<T> __typeArg_T)`
    `ReadStream<T>` | `pause()` Pause the `ReadStream`, it sets the buffer in `fetch` mode and clears the actual demand.
    `Pipe<T>` | `pipe()` Pause this stream and return a `Pipe` to transfer the elements of this stream to a destination `WriteStream`.
    `void` | `pipeTo(WriteStream<T> dst)` Pipe this `ReadStream` to the `WriteStream`.
    `void` | `pipeTo(WriteStream<T> dst, Handler<AsyncResult<Void>> handler)` Pipe this `ReadStream` to the `WriteStream`.
    `ReadStream<T>` | `resume()` Resume reading, and sets the buffer in `flowing` mode.
    `Single<Void>` | `rxPipeTo(WriteStream<T> dst)` Pipe this `ReadStream` to the `WriteStream`.
    `Observable<T>` | `toObservable()`

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

      `newInstance`

- - ### Method Detail

    - #### getDelegate

          ReadStream getDelegate()

      Specified by:
        `getDelegate` in interface `StreamBase`

    - #### exceptionHandler

          ReadStream<T> exceptionHandler(Handler<Throwable> handler)

      Set an exception handler on the read stream.
      Specified by:
        `exceptionHandler` in interface `StreamBase`
      Parameters:
        `handler` - the exception handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### handler

          ReadStream<T> handler(Handler<T> handler)

      Set a data handler. As data is read, the handler will be called with the data.
      Parameters:
        `handler` -
      Returns:
        a reference to this, so the API can be used fluently

    - #### pause

          ReadStream<T> pause()

      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`.

      Returns:
        a reference to this, so the API can be used fluently

    - #### resume

          ReadStream<T> resume()

      Resume reading, and sets the buffer in `flowing` mode.

      If the `ReadStream` has been paused, reading will recommence on it.
      Returns:
        a reference to this, so the API can be used fluently

    - #### fetch

          ReadStream<T> fetch(long amount)

      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.
      Parameters:
        `amount` -
      Returns:
        a reference to this, so the API can be used fluently

    - #### endHandler

          ReadStream<T> endHandler(Handler<Void> endHandler)

      Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
      Parameters:
        `endHandler` -
      Returns:
        a reference to this, so the API can be used fluently

    - #### pipe

          Pipe<T> pipe()

      Pause this stream and return a `Pipe` to transfer the elements of this stream to a destination `WriteStream`.

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

    - #### pipeTo

          void pipeTo(WriteStream<T> dst,
                      Handler<AsyncResult<Void>> handler)

      Pipe this `ReadStream` to the `WriteStream`.

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

      Once this stream has ended or failed, the write stream will be ended and the `handler` will be called with the result.

      Parameters:
        `dst` - the destination write stream
        `handler` -

    - #### pipeTo

          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.

      Once this stream has ended or failed, the write stream will be ended and the `handler` will be called with the result.

      Parameters:
        `dst` - the destination write stream

    - #### rxPipeTo

          Single<Void> 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.

      Once this stream has ended or failed, the write stream will be ended and the `handler` will be called with the result.

      Parameters:
        `dst` - the destination write stream
      Returns:

    - #### toObservable

          Observable<T> toObservable()

    - #### newInstance

          static <T> ReadStream<T> newInstance(ReadStream arg)

    - #### newInstance

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

Copyright © 2022 Eclipse. All rights reserved.