serializeFragments method
Returns encoded message fragments when the serializer can preserve an already-encoded payload without assembling one contiguous frame.
Implementation
@override
List<Uint8List>? serializeFragments(AbstractMessage message) {
if (message is Call) {
final prefix =
'[${MessageTypes.codeCall},${message.requestId},${_serializeCallOptions(message.options)},${_encodeJsonObject(message.procedure)}';
return _serializeLazyJsonPayloadFragments(prefix, message) ??
_serializeSingleBinaryPayloadFragments(prefix, message);
}
if (message is Publish) {
final prefix =
'[${MessageTypes.codePublish},${message.requestId},${_serializePublish(message.options)},${_encodeJsonObject(message.topic)}';
return _serializeLazyJsonPayloadFragments(prefix, message) ??
_serializeSingleBinaryPayloadFragments(prefix, message);
}
if (message is Yield) {
final prefix =
'[${MessageTypes.codeYield},${message.invocationRequestId},${_serializeYieldOptions(message.options)}';
return _serializeLazyJsonPayloadFragments(prefix, message) ??
_serializeSingleBinaryPayloadFragments(prefix, message);
}
return null;
}