private Response Exec(Request request) {
VerifyConnection();
_socket.SendRequest(request, _buffer);
var response = _socket.ReceiveResponse(_buffer);
if((response.Status & request.ExpectedStatuses) != response.Status) {
throw new InvalidStatusException(request.Command, response.Status);
}
return response;
}