org.springframework.core.io.buffer

## Interface PooledDataBuffer

- All Superinterfaces:
    DataBuffer
  All Known Implementing Classes:
    NettyDataBuffer

      public interface PooledDataBuffer
      extends DataBuffer

  Extension of `DataBuffer` that allows for buffer that share a memory pool. Introduces methods for reference counting.
  Since:
    5.0
  Author:
    Arjen Poutsma

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isAllocated()` Return `true` if this buffer is allocated; `false` if it has been deallocated.
    `boolean` | `release()` Decrease the reference count for this buffer by one, and deallocate it once the count reaches zero.
    `PooledDataBuffer` | `retain()` Increase the reference count for this buffer by one.
    `PooledDataBuffer` | `touch(Object hint)` Associate the given hint with the data buffer for debugging purposes.

    - ### Methods inherited from interface org.springframework.core.io.buffer.DataBuffer

      `asByteBuffer, asByteBuffer, asInputStream, asInputStream, asOutputStream, capacity, capacity, ensureCapacity, factory, getByte, indexOf, lastIndexOf, read, read, read, readableByteCount, readPosition, readPosition, retainedSlice, slice, toString, toString, writableByteCount, write, write, write, write, write, write, writePosition, writePosition`

- - ### Method Detail

    - #### isAllocated

          boolean isAllocated()

      Return `true` if this buffer is allocated; `false` if it has been deallocated.
      Since:
        5.1

    - #### retain

          PooledDataBuffer retain()

      Increase the reference count for this buffer by one.
      Returns:
        this buffer

    - #### touch

          PooledDataBuffer touch(Object hint)

      Associate the given hint with the data buffer for debugging purposes.
      Returns:
        this buffer
      Since:
        5.3.2

    - #### release

          boolean release()

      Decrease the reference count for this buffer by one, and deallocate it once the count reaches zero.
      Returns:
        `true` if the buffer was deallocated; `false` otherwise