org.apache.tinkerpop.gremlin.driver.ser

## Class NettyBufferFactory

- java.lang.Object
- - org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory

- All Implemented Interfaces:
    BufferFactory<io.netty.buffer.ByteBuf>

      public class NettyBufferFactory
      extends Object
      implements BufferFactory<io.netty.buffer.ByteBuf>

  Represents a factory to create `Buffer` instances from wrapped `ByteBuf` instances.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NettyBufferFactory()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Buffer` | `create(io.netty.buffer.ByteBuf value)` Creates a new `Buffer` given a `T` instance.
    `static void` | `readRaw(Buffer buffer, Consumer<io.netty.buffer.ByteBuf> consumer)` Utility method to allow reading from the underlying bytes using a Netty `ByteBuf` instance for interoperability, advancing the reader index of the `Buffer` after the consumer is called.
    `Buffer` | `wrap(ByteBuffer value)` Wraps a NIO buffer.
    `static void` | `writeRaw(Buffer buffer, Consumer<io.netty.buffer.ByteBuf> consumer)` Allows writing from the underlying bytes using a Netty `ByteBuf` instance for interoperability, advancing the writer index of the `Buffer` after the consumer is called.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NettyBufferFactory

          public NettyBufferFactory()

  - ### Method Detail

    - #### create

          public Buffer create(io.netty.buffer.ByteBuf value)

      Description copied from interface: `BufferFactory`
      Creates a new `Buffer` given a `T` instance.
      Specified by:
        `create` in interface `BufferFactory<io.netty.buffer.ByteBuf>`
      Returns:

    - #### wrap

          public Buffer wrap(ByteBuffer value)

      Description copied from interface: `BufferFactory`
      Wraps a NIO buffer.
      Specified by:
        `wrap` in interface `BufferFactory<io.netty.buffer.ByteBuf>`

    - #### readRaw

          public static void readRaw(Buffer buffer,
                                     Consumer<io.netty.buffer.ByteBuf> consumer)

      Utility method to allow reading from the underlying bytes using a Netty `ByteBuf` instance for interoperability, advancing the reader index of the `Buffer` after the consumer is called. Note that the `ByteBuf` used by the consumer should not be released by the caller. In case the provided `Buffer` instance is not a `NettyBuffer`, it will create a `ByteBuf` wrapper for the consumer to use, releasing it after use.

    - #### writeRaw

          public static void writeRaw(Buffer buffer,
                                      Consumer<io.netty.buffer.ByteBuf> consumer)

      Allows writing from the underlying bytes using a Netty `ByteBuf` instance for interoperability, advancing the writer index of the `Buffer` after the consumer is called. Note that the `ByteBuf` used by the consumer should not be released by the caller. In case the provided `Buffer` instance is not a `NettyBuffer`, it will create a `ByteBuf` wrapper for the consumer to use, releasing it after use.

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.