Class PayloadUtils
java.lang.Object
org.springframework.messaging.rsocket.PayloadUtils
Static utility methods to create
Payload
from DataBuffer
s
and vice versa.- Since:
- 5.2
- Author:
- Rossen Stoyanchev
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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 Details
-
PayloadUtils
public PayloadUtils()
-
-
Method Details
-
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
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
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
-