org.springframework.messaging.tcp.reactor

## Class AbstractNioBufferReactorNettyCodec<P>

- java.lang.Object
- - org.springframework.messaging.tcp.reactor.AbstractNioBufferReactorNettyCodec<P>

Type Parameters:
  `P` - the message payload type

All Implemented Interfaces:
  ReactorNettyCodec<P>

Direct Known Subclasses:
  StompReactorNettyCodec

    public abstract class AbstractNioBufferReactorNettyCodec<P>
    extends Object
    implements ReactorNettyCodec<P>

Convenient base class for `ReactorNettyCodec` implementations that need to work with NIO `ByteBuffers`.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`AbstractNioBufferReactorNettyCodec()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`Collection<Message<P>>` `decode(io.netty.buffer.ByteBuf inputBuffer)` Decode the input `ByteBuf` into one or more `Messages`.
`protected abstract List<Message<P>>` `decodeInternal(ByteBuffer nioBuffer)`
`void` `encode(Message<P> message, io.netty.buffer.ByteBuf outputBuffer)` Encode the given `Message` to the output `ByteBuf`.
`protected abstract ByteBuffer` `encodeInternal(Message<P> message)`

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

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

### Constructor Detail

#### AbstractNioBufferReactorNettyCodec

    public AbstractNioBufferReactorNettyCodec()

### Method Detail

#### decode

    public Collection<Message<P>> decode(io.netty.buffer.ByteBuf inputBuffer)

Description copied from interface: `ReactorNettyCodec`
Decode the input `ByteBuf` into one or more `Messages`.

Specified by:
  `decode` in interface `ReactorNettyCodec<P>`
Parameters:
  `inputBuffer` - the input buffer to decode from
Returns:
  0 or more decoded messages

#### encode

    public void encode(Message<P> message,
                       io.netty.buffer.ByteBuf outputBuffer)

Description copied from interface: `ReactorNettyCodec`
Encode the given `Message` to the output `ByteBuf`.

Specified by:
  `encode` in interface `ReactorNettyCodec<P>`
Parameters:
  `message` - the message to encode
  `outputBuffer` - the buffer to write to

#### decodeInternal

    protected abstract List<Message<P>> decodeInternal(ByteBuffer nioBuffer)

#### encodeInternal

    protected abstract ByteBuffer encodeInternal(Message<P> message)