Class PayloadUtils
- java.lang.Object
- org.springframework.messaging.rsocket.PayloadUtils
public abstract class PayloadUtils extends Object
Static utility methods to createPayload
fromDataBuffer
s and vice versa.- Since:
- 5.2
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description PayloadUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static io.rsocket.Payload
createPayload(DataBuffer data)
Create a Payload with data only.static io.rsocket.Payload
createPayload(DataBuffer data, DataBuffer metadata)
Create a Payload from the given metadata and data.static DataBuffer
retainDataAndReleasePayload(io.rsocket.Payload payload, DataBufferFactory bufferFactory)
Use this method to slice, retain and wrap the data portion of thePayload
, and also to release thePayload
.
Constructor Detail
PayloadUtils
public PayloadUtils()
Method Detail
retainDataAndReleasePayload
public static DataBuffer retainDataAndReleasePayload(io.rsocket.Payload payload, DataBufferFactory bufferFactory)
Use this method to slice, retain and wrap the data portion of thePayload
, and also to release thePayload
. This assumes the Payload metadata has been read by now and ensures downstream code need only be aware ofDataBuffer
s.- Parameters:
payload
- the payload to processbufferFactory
- the DataBufferFactory to wrap with- Returns:
- the created
DataBuffer
instance
createPayload
public static io.rsocket.Payload createPayload(DataBuffer data, DataBuffer metadata)
Create a Payload from the given metadata and data.If at least one is
NettyDataBuffer
thenByteBufPayload
is created with either obtaining the underlying nativeByteBuf
or usingUnpooled.wrappedBuffer(ByteBuffer...)
if necessary. Otherwise, if both areDefaultDataBuffer
, thenDefaultPayload
is created.- Parameters:
data
- the data part for the payloadmetadata
- the metadata part for the payload- Returns:
- the created payload
createPayload
public static io.rsocket.Payload createPayload(DataBuffer data)
Create a Payload with data only. The created payload isByteBufPayload
if the input isNettyDataBuffer
or otherwise it isDefaultPayload
.- Parameters:
data
- the data part for the payload- Returns:
- created payload