processResponse method
Parses a Buffer containing the response to the command.
Returns a _HandlerResponse
.
The default implementation returns a finished _HandlerResponse
with
a result which is obtained by calling checkResponse
Implementation
@override
HandlerResponse processResponse(Buffer response) {
log.fine('Processing query response');
var packet = checkResponse(response, false, _state == STATE_ROW_PACKETS);
if (packet == null) {
if (response[0] == PACKET_EOF) {
if (_state == STATE_FIELD_PACKETS) {
return _handleEndOfFields();
} else if (_state == STATE_ROW_PACKETS) {
return _handleEndOfRows();
}
} else {
switch (_state) {
case STATE_HEADER_PACKET:
_handleHeaderPacket(response);
break;
case STATE_FIELD_PACKETS:
_handleFieldPacket(response);
break;
case STATE_ROW_PACKETS:
_handleRowPacket(response);
break;
}
}
} else if (packet is OkPacket) {
return _handleOkPacket(packet);
}
return HandlerResponse.notFinished;
}