public abstract class PayloadUtils extends ObjectSE
DataBuffer
から Payload
を作成するための静的ユーティリティメソッド、およびその逆。コンストラクターと説明 |
---|
PayloadUtils() |
修飾子と型 | メソッドと説明 |
---|---|
static Payload | createPayload(DataBuffer data) データのみでペイロードを作成します。 |
static Payload | createPayload(DataBuffer data, DataBuffer metadata) 指定されたメタデータとデータからペイロードを作成します。 |
static DataBuffer | retainDataAndReleasePayload(Payload payload, DataBufferFactory bufferFactory) このメソッドを使用して、 Payload のデータ部分をスライス、保持、ラップし、Payload を解放します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static DataBuffer retainDataAndReleasePayload(Payload payload, DataBufferFactory bufferFactory)
Payload
のデータ部分をスライス、保持、ラップし、Payload
を解放します。これは、ペイロードメタデータがすでに読み込まれていることを前提とし、ダウンストリームコードは DataBuffer
のみを認識する必要があることを保証します。payload
- 処理するペイロード bufferFactory
- ラップする DataBufferFactoryDataBuffer
インスタンス public static Payload createPayload(DataBuffer data, DataBuffer metadata)
少なくとも 1 つが NettyDataBuffer
の場合、ByteBufPayload
は、基礎となるネイティブ ByteBuf
を取得するか、必要に応じて Unpooled.wrappedBuffer(ByteBuffer...)
を使用して作成されます。それ以外の場合、両方が DefaultDataBuffer
の場合、DefaultPayload
が作成されます。
data
- ペイロードのデータ部分 metadata
- ペイロードのメタデータ部分 public static Payload createPayload(DataBuffer data)
NettyDataBuffer
の場合、作成されるペイロードは ByteBufPayload
であり、それ以外の場合は DefaultPayload
です。data
- ペイロードのデータ部分