Exemple #1
0
RdKafka::ErrorCode
RdKafka::HandleImpl::resume (std::vector<RdKafka::TopicPartition*> &partitions) {
    rd_kafka_topic_partition_list_t *c_parts;
    rd_kafka_resp_err_t err;

    c_parts = partitions_to_c_parts(partitions);

    err = rd_kafka_resume_partitions(rk_, c_parts);

    if (!err)
        update_partitions_from_c_parts(partitions, c_parts);

    rd_kafka_topic_partition_list_destroy(c_parts);

    return static_cast<RdKafka::ErrorCode>(err);
}
static PyObject *Consumer_resume (Handle *self, PyObject *args,
                    PyObject *kwargs) {

    PyObject *plist;
	rd_kafka_topic_partition_list_t *c_parts;
    rd_kafka_resp_err_t err;
    static char *kws[] = {"partitions", NULL};

    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O", kws, &plist))
        return NULL;

    if (!(c_parts = py_to_c_parts(plist)))
        return NULL;

    err = rd_kafka_resume_partitions(self->rk, c_parts);
    rd_kafka_topic_partition_list_destroy(c_parts);
    if (err) {
        cfl_PyErr_Format(err,
                "Failed to resume partitions: %s",
                rd_kafka_err2str(err));
        return NULL;
    }
	Py_RETURN_NONE;
}