MySQLPacketAuthSwitchRequest.decode constructor
MySQLPacketAuthSwitchRequest.decode(
- Uint8List buffer
Decodifica um Uint8List recebido do servidor e cria uma instância de MySQLPacketAuthSwitchRequest.
O formato esperado do buffer é:
- Header: 1 byte.
- authPluginName: string terminada em null (utiliza
getUtf8NullTerminatedString
). - authPluginData: o restante do buffer.
Implementation
factory MySQLPacketAuthSwitchRequest.decode(Uint8List buffer) {
final byteData = ByteData.sublistView(buffer);
int offset = 0;
// 1) Leitura do header (1 byte)
final header = byteData.getUint8(offset);
offset += 1;
// 2) Leitura do nome do plugin de autenticação (string null-terminated)
final authPluginName = buffer.getUtf8NullTerminatedString(offset);
offset += authPluginName.item2;
// 3) O restante do buffer corresponde aos dados do plugin
final authPluginData = Uint8List.sublistView(buffer, offset);
return MySQLPacketAuthSwitchRequest(
header: header,
authPluginData: authPluginData,
authPluginName: authPluginName.item1,
);
}