MySQLPacketOK.decode constructor
MySQLPacketOK.decode(
- Uint8List buffer
Decodifica um buffer Uint8List recebido do servidor e retorna uma instância de MySQLPacketOK.
A decodificação segue a seguinte estrutura:
- Header: 1 byte, que deve ser 0x00.
- Affected Rows: Valor length-encoded, representando o número de linhas afetadas.
- Last Insert ID: Valor length-encoded, representando o último ID gerado.
O método utiliza a função getVariableEncInt para decodificar os valores length-encoded.
Implementation
factory MySQLPacketOK.decode(Uint8List buffer) {
int offset = 0;
// 1) Leitura do header (1 byte)
final header = buffer[offset];
offset += 1;
// 2) Leitura do número de linhas afetadas (length-encoded integer)
final affectedRows = buffer.getVariableEncIntAt(offset);
offset += affectedRows.item2;
// 3) Leitura do último ID inserido (length-encoded integer)
final lastInsertID = buffer.getVariableEncIntAt(offset);
offset += lastInsertID.item2;
return MySQLPacketOK(
header: header,
affectedRows: affectedRows.item1,
lastInsertID: lastInsertID.item1,
);
}