def delete(key, timeout = 2000)
      result_raw = @conn.call(:delete, [key, timeout])
      result = @conn.class.process_result_delete(result_raw)
      @lastDeleteResult = result[:results]
      if result[:success] == true
        return result[:ok]
      elsif result[:success] == :timeout
        raise TimeoutError.new(result_raw)
      else
        raise UnknownError.new(result_raw)
      end
    end
def delete(key, timeout = 2000)
      result_raw = @conn.call(:delete, [key, timeout])
      result = @conn.class.process_result_delete(result_raw)
      @lastDeleteResult = result[:results]
      if result[:success] == true
        return result[:ok]
      elsif result[:success] == :timeout
        raise TimeoutError.new(result_raw)
      else
        raise UnknownError.new(result_raw)
      end
    end
Create a new object using the given connection.
 Tries to delete the value at the given key.

 WARNING: This function can lead to inconsistent data (e.g. deleted items
 can re-appear). Also when re-creating an item the version before the
 delete can re-appear.

 returns the number of successfully deleted items
 use get_last_delete_result() to get more details