Add more producer stuff

This commit is contained in:
Matias Fontanini
2016-05-17 18:51:30 -07:00
parent 1cc8f027c9
commit 5848bccdb8
7 changed files with 40 additions and 25 deletions

View File

@@ -17,27 +17,26 @@ KafkaHandleBase::KafkaHandleBase(rd_kafka_t* handle)
}
void KafkaHandleBase::set_handle(rd_kafka_t* handle) {
handle_ = HandlePtr(handle, &rd_kafka_destroy);
}
rd_kafka_t* KafkaHandleBase::get_handle() {
return handle_.get();
}
Topic KafkaHandleBase::get_topic(const string& name) {
rd_kafka_topic_t* topic = rd_kafka_topic_new(handle_.get(), name.data(), nullptr);
if (!topic) {
throw Exception("Failed to create topic handle");
}
return Topic(topic);
return get_topic(name, nullptr);
}
Topic KafkaHandleBase::get_topic(const string& name, const TopicConfiguration& config) {
rd_kafka_topic_t* topic = rd_kafka_topic_new(handle_.get(), name.data(),
config.get_handle());
Topic KafkaHandleBase::get_topic(const string& name, TopicConfiguration topicConfig) {
return get_topic(name, topicConfig.get_handle());
}
void KafkaHandleBase::set_handle(rd_kafka_t* handle) {
handle_ = HandlePtr(handle, &rd_kafka_destroy);
}
Topic KafkaHandleBase::get_topic(const string& name, rd_kafka_topic_conf_t* conf) {
rd_kafka_topic_t* topic = rd_kafka_topic_new(get_handle(), name.data(), conf);
if (!topic) {
throw Exception("Failed to create topic handle");
throw HandleException(rd_kafka_errno2err(errno));
}
return Topic(topic);
}