Allocate a {@link ByteBuf}. If it is a direct or heap buffer depends on the actual implementation.
Allocate a {@link ByteBuf} with the given initial capacity. If it is a direct or heap buffer depends on the actual implementation.
Allocate a {@link ByteBuf} with the given initial capacity and the given maximal capacity. If it is a direct or heap buffer depends on the actual implementation.
Calculate the new capacity of a {@link ByteBuf} that is used when a {@link ByteBuf} needs to expand by the {@code minNewCapacity} with {@code maxCapacity} as upper-bound.
Allocate a {@link CompositeByteBuf}. If it is a direct or heap buffer depends on the actual implementation.
Allocate a {@link CompositeByteBuf} with the given maximum number of components that can be stored in it. If it is a direct or heap buffer depends on the actual implementation.
Allocate a direct {@link CompositeByteBuf}.
Allocate a direct {@link CompositeByteBuf} with the given maximum number of components that can be stored in it.
Allocate a heap {@link CompositeByteBuf}.
Allocate a heap {@link CompositeByteBuf} with the given maximum number of components that can be stored in it.
Allocate a direct {@link ByteBuf}.
Allocate a direct {@link ByteBuf} with the given initial capacity.
Allocate a direct {@link ByteBuf} with the given initial capacity and the given maximal capacity.
Allocate a heap {@link ByteBuf}.
Allocate a heap {@link ByteBuf} with the given initial capacity.
Allocate a heap {@link ByteBuf} with the given initial capacity and the given maximal capacity.
Allocate a {@link ByteBuf}, preferably a direct buffer which is suitable for I/O.
Allocate a {@link ByteBuf}, preferably a direct buffer which is suitable for I/O.
Allocate a {@link ByteBuf}, preferably a direct buffer which is suitable for I/O.
Returns {@code true} if direct {@link ByteBuf}'s are pooled
Implementations are responsible to allocate buffers. Implementations of this interface are expected to be thread-safe.