@@ -63,6 +63,31 @@ void Client::createProducerAsync(const std::string& topic, const CreateProducerC
6363 createProducerAsync (topic, ProducerConfiguration (), callback);
6464}
6565
66+ std::variant<Producer, Error> Client::createProducerV2 (const std::string& topic) {
67+ return createProducerV2 (topic, ProducerConfiguration ());
68+ }
69+
70+ std::variant<Producer, Error> Client::createProducerV2 (const std::string& topic,
71+ const ProducerConfiguration& conf) {
72+ Promise<bool , std::variant<Producer, Error> > promise;
73+ createProducerAsyncV2 (topic, conf,
74+ [promise](std::variant<Producer, Error> result) { promise.setValue (result); });
75+ Future<bool , std::variant<Producer, Error> > future = promise.getFuture ();
76+
77+ std::variant<Producer, Error> result;
78+ future.get (result);
79+ return result;
80+ }
81+
82+ void Client::createProducerAsyncV2 (const std::string& topic, const CreateProducerCallbackV2& callback) {
83+ createProducerAsyncV2 (topic, ProducerConfiguration (), callback);
84+ }
85+
86+ void Client::createProducerAsyncV2 (const std::string& topic, const ProducerConfiguration& conf,
87+ const CreateProducerCallbackV2& callback) {
88+ impl_->createProducerAsyncV2 (topic, conf, callback);
89+ }
90+
6691void Client::createProducerAsync (const std::string& topic, const ProducerConfiguration& conf,
6792 const CreateProducerCallback& callback) {
6893 impl_->createProducerAsync (topic, conf, callback);
@@ -81,17 +106,46 @@ Result Client::subscribe(const std::string& topic, const std::string& subscripti
81106 return future.get (consumer);
82107}
83108
109+ std::variant<Consumer, Error> Client::subscribeV2 (const std::string& topic,
110+ const std::string& subscriptionName) {
111+ return subscribeV2 (topic, subscriptionName, ConsumerConfiguration ());
112+ }
113+
114+ std::variant<Consumer, Error> Client::subscribeV2 (const std::string& topic,
115+ const std::string& subscriptionName,
116+ const ConsumerConfiguration& conf) {
117+ Promise<bool , std::variant<Consumer, Error> > promise;
118+ subscribeAsyncV2 (topic, subscriptionName, conf,
119+ [promise](std::variant<Consumer, Error> result) { promise.setValue (result); });
120+ Future<bool , std::variant<Consumer, Error> > future = promise.getFuture ();
121+
122+ std::variant<Consumer, Error> result;
123+ future.get (result);
124+ return result;
125+ }
126+
84127void Client::subscribeAsync (const std::string& topic, const std::string& subscriptionName,
85128 const SubscribeCallback& callback) {
86129 subscribeAsync (topic, subscriptionName, ConsumerConfiguration (), callback);
87130}
88131
132+ void Client::subscribeAsyncV2 (const std::string& topic, const std::string& subscriptionName,
133+ const SubscribeCallbackV2& callback) {
134+ subscribeAsyncV2 (topic, subscriptionName, ConsumerConfiguration (), callback);
135+ }
136+
89137void Client::subscribeAsync (const std::string& topic, const std::string& subscriptionName,
90138 const ConsumerConfiguration& conf, const SubscribeCallback& callback) {
91139 LOG_INFO (" Subscribing on Topic :" << topic);
92140 impl_->subscribeAsync (topic, subscriptionName, conf, callback);
93141}
94142
143+ void Client::subscribeAsyncV2 (const std::string& topic, const std::string& subscriptionName,
144+ const ConsumerConfiguration& conf, const SubscribeCallbackV2& callback) {
145+ LOG_INFO (" Subscribing on Topic :" << topic);
146+ impl_->subscribeAsyncV2 (topic, subscriptionName, conf, callback);
147+ }
148+
95149Result Client::subscribe (const std::vector<std::string>& topics, const std::string& subscriptionName,
96150 Consumer& consumer) {
97151 return subscribe (topics, subscriptionName, ConsumerConfiguration (), consumer);
@@ -106,16 +160,44 @@ Result Client::subscribe(const std::vector<std::string>& topics, const std::stri
106160 return future.get (consumer);
107161}
108162
163+ std::variant<Consumer, Error> Client::subscribeV2 (const std::vector<std::string>& topics,
164+ const std::string& subscriptionName) {
165+ return subscribeV2 (topics, subscriptionName, ConsumerConfiguration ());
166+ }
167+
168+ std::variant<Consumer, Error> Client::subscribeV2 (const std::vector<std::string>& topics,
169+ const std::string& subscriptionName,
170+ const ConsumerConfiguration& conf) {
171+ Promise<bool , std::variant<Consumer, Error> > promise;
172+ subscribeAsyncV2 (topics, subscriptionName, conf,
173+ [promise](std::variant<Consumer, Error> result) { promise.setValue (result); });
174+ Future<bool , std::variant<Consumer, Error> > future = promise.getFuture ();
175+
176+ std::variant<Consumer, Error> result;
177+ future.get (result);
178+ return result;
179+ }
180+
109181void Client::subscribeAsync (const std::vector<std::string>& topics, const std::string& subscriptionName,
110182 const SubscribeCallback& callback) {
111183 subscribeAsync (topics, subscriptionName, ConsumerConfiguration (), callback);
112184}
113185
186+ void Client::subscribeAsyncV2 (const std::vector<std::string>& topics, const std::string& subscriptionName,
187+ const SubscribeCallbackV2& callback) {
188+ subscribeAsyncV2 (topics, subscriptionName, ConsumerConfiguration (), callback);
189+ }
190+
114191void Client::subscribeAsync (const std::vector<std::string>& topics, const std::string& subscriptionName,
115192 const ConsumerConfiguration& conf, const SubscribeCallback& callback) {
116193 impl_->subscribeAsync (topics, subscriptionName, conf, callback);
117194}
118195
196+ void Client::subscribeAsyncV2 (const std::vector<std::string>& topics, const std::string& subscriptionName,
197+ const ConsumerConfiguration& conf, const SubscribeCallbackV2& callback) {
198+ impl_->subscribeAsyncV2 (topics, subscriptionName, conf, callback);
199+ }
200+
119201Result Client::subscribeWithRegex (const std::string& regexPattern, const std::string& subscriptionName,
120202 Consumer& consumer) {
121203 return subscribeWithRegex (regexPattern, subscriptionName, ConsumerConfiguration (), consumer);
@@ -149,11 +231,28 @@ Result Client::createReader(const std::string& topic, const MessageId& startMess
149231 return future.get (reader);
150232}
151233
234+ std::variant<Reader, Error> Client::createReaderV2 (const std::string& topic, const MessageId& startMessageId,
235+ const ReaderConfiguration& conf) {
236+ Promise<bool , std::variant<Reader, Error> > promise;
237+ createReaderAsyncV2 (topic, startMessageId, conf,
238+ [promise](std::variant<Reader, Error> result) { promise.setValue (result); });
239+ Future<bool , std::variant<Reader, Error> > future = promise.getFuture ();
240+
241+ std::variant<Reader, Error> result;
242+ future.get (result);
243+ return result;
244+ }
245+
152246void Client::createReaderAsync (const std::string& topic, const MessageId& startMessageId,
153247 const ReaderConfiguration& conf, const ReaderCallback& callback) {
154248 impl_->createReaderAsync (topic, startMessageId, conf, callback);
155249}
156250
251+ void Client::createReaderAsyncV2 (const std::string& topic, const MessageId& startMessageId,
252+ const ReaderConfiguration& conf, const ReaderCallbackV2& callback) {
253+ impl_->createReaderAsyncV2 (topic, startMessageId, conf, callback);
254+ }
255+
157256Result Client::createTableView (const std::string& topic, const TableViewConfiguration& conf,
158257 TableView& tableView) {
159258 Promise<Result, TableView> promise;
0 commit comments