Class BufferReadStream

java.lang.Object
net.bluemind.core.rest.vertx.BufferReadStream
All Implemented Interfaces:
io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>, io.vertx.core.streams.StreamBase, IReleasable

public class BufferReadStream extends Object implements io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>, IReleasable
  • Constructor Details

    • BufferReadStream

      public BufferReadStream(io.vertx.core.buffer.Buffer data)
    • BufferReadStream

      public BufferReadStream(io.netty.buffer.ByteBuf data, Runnable releaseHook)
      Parameters:
      data - forward-only ByteBuf to drain, typically a slice over a pool-backed body
      releaseHook - one-shot cleanup invoked from release() once the consumer signals all emitted buffers are flushed (e.g. at HTTP Pipe completion). May be null.
  • Method Details

    • releaseHookFires

      public static long releaseHookFires()
      Returns:
      number of times release() fired with a non-null hook. Lets tests and observability verify the IReleasable path is exercised vs falling back to GC-driven cleanup.
    • nettyBuffer

      public io.netty.buffer.ByteBuf nettyBuffer()
    • handler

      public BufferReadStream handler(io.vertx.core.Handler<io.vertx.core.buffer.Buffer> handler)
      Specified by:
      handler in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
    • pause

      public BufferReadStream pause()
      Specified by:
      pause in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
    • resume

      public BufferReadStream resume()
      Specified by:
      resume in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
    • exceptionHandler

      public BufferReadStream exceptionHandler(io.vertx.core.Handler<Throwable> handler)
      Specified by:
      exceptionHandler in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
      Specified by:
      exceptionHandler in interface io.vertx.core.streams.StreamBase
    • endHandler

      public BufferReadStream endHandler(io.vertx.core.Handler<Void> endHandler)
      Specified by:
      endHandler in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
    • fetch

      public io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer> fetch(long amount)
      Specified by:
      fetch in interface io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>
    • release

      public void release()
      Description copied from interface: IReleasable
      Releases the underlying resource. Idempotent — subsequent calls are no-ops.
      Specified by:
      release in interface IReleasable