def METHOD_NAME(self, query_samples):
    """
    LoadGen calls this with query_samples, a vector containing series of queries
    SUT is to perform each query and calls back to LoadGen with QuerySamplesComplete()
    Parameters
    ----------
        query_samples: object
            vector object that holds queries from LoadGen
    """
    total = len(query_samples)
    for qsi in range(total):
        query = self.qsl.get_features(query_samples[qsi].index)
        mystr = "{:5d}/{:5d} -- Processing sample id {:2d} with shape = {:}".format(
                qsi+1, total, query_samples[qsi].index, query.shape)
        final_result, mystr = self.infer_single_query(query, mystr)
        if mystr:
            print(mystr)
        response_array = array.array("B", final_result.tobytes())
        bi = response_array.buffer_info()
        response = lg.QuerySampleResponse(
            query_samples[qsi].id, bi[0], bi[1])
        lg.QuerySamplesComplete([response])