@@ -47,10 +47,10 @@ auto BinaryProtoLookupService::findBroker(const std::string& address, bool autho
4747
4848 // NOTE: we can use move capture for topic since C++14
4949 cnxPool_.getConnectionAsync (address).addListener ([this , promise, topic, address, authoritative,
50- redirectCount](Result result ,
50+ redirectCount](const auto & error ,
5151 const ClientConnectionWeakPtr& weakCnx) {
52- if (result != ResultOk) {
53- promise->setFailed (result);
52+ if (error. result != ResultOk) {
53+ promise->setFailed (error. result );
5454 return ;
5555 }
5656 auto cnx = weakCnx.lock ();
@@ -62,10 +62,10 @@ auto BinaryProtoLookupService::findBroker(const std::string& address, bool autho
6262 auto lookupPromise = std::make_shared<LookupDataResultPromise>();
6363 cnx->newTopicLookup (topic, authoritative, listenerName_, newRequestId (), lookupPromise);
6464 lookupPromise->getFuture ().addListener ([this , cnx, promise, topic, address, redirectCount](
65- Result result , const LookupDataResultPtr& data) {
66- if (result != ResultOk || !data) {
67- LOG_ERROR (" Lookup failed for " << topic << " , result " << result );
68- promise->setFailed (result);
65+ const Error& error , const LookupDataResultPtr& data) {
66+ if (error. result != ResultOk || !data) {
67+ LOG_ERROR (" Lookup failed for " << topic << " , result " << error );
68+ promise->setFailed (error. result );
6969 return ;
7070 }
7171
@@ -96,15 +96,11 @@ auto BinaryProtoLookupService::findBroker(const std::string& address, bool autho
9696 return promise->getFuture ();
9797}
9898
99- /*
100- * @param topicName topic to get number of partitions.
101- *
102- */
103- Future<Result, LookupDataResultPtr> BinaryProtoLookupService::getPartitionMetadataAsync (
99+ Future<Error, LookupDataResultPtr> BinaryProtoLookupService::getPartitionMetadataAsync (
104100 const TopicNamePtr& topicName) {
105101 LookupDataResultPromisePtr promise = std::make_shared<LookupDataResultPromise>();
106102 if (!topicName) {
107- promise->setFailed (ResultInvalidTopicName);
103+ promise->setFailed (Error{ ResultInvalidTopicName, " " } );
108104 return promise->getFuture ();
109105 }
110106 std::string lookupName = topicName->toString ();
@@ -115,16 +111,17 @@ Future<Result, LookupDataResultPtr> BinaryProtoLookupService::getPartitionMetada
115111 return promise->getFuture ();
116112}
117113
118- void BinaryProtoLookupService::sendPartitionMetadataLookupRequest (const std::string& topicName, Result result,
114+ void BinaryProtoLookupService::sendPartitionMetadataLookupRequest (const std::string& topicName,
115+ const Error& error,
119116 const ClientConnectionWeakPtr& clientCnx,
120117 const LookupDataResultPromisePtr& promise) {
121- if (result != ResultOk) {
122- promise->setFailed (result );
118+ if (error. result != ResultOk) {
119+ promise->setFailed (error );
123120 return ;
124121 }
125122 auto conn = clientCnx.lock ();
126123 if (!conn) {
127- promise->setFailed (ResultConnectError);
124+ promise->setFailed (Error{ ResultConnectError, " " } );
128125 return ;
129126 }
130127 LookupDataResultPromisePtr lookupPromise = std::make_shared<LookupDataResultPromise>();
@@ -135,7 +132,7 @@ void BinaryProtoLookupService::sendPartitionMetadataLookupRequest(const std::str
135132 std::placeholders::_2, clientCnx, promise));
136133}
137134
138- void BinaryProtoLookupService::handlePartitionMetadataLookup (const std::string& topicName, Result result ,
135+ void BinaryProtoLookupService::handlePartitionMetadataLookup (const std::string& topicName, const Error& error ,
139136 const LookupDataResultPtr& data,
140137 const ClientConnectionWeakPtr& clientCnx,
141138 const LookupDataResultPromisePtr& promise) {
@@ -144,8 +141,8 @@ void BinaryProtoLookupService::handlePartitionMetadataLookup(const std::string&
144141 << data->getBrokerUrl ());
145142 promise->setValue (data);
146143 } else {
147- LOG_DEBUG (" PartitionMetadataLookup failed for " << topicName << " , result " << result );
148- promise->setFailed (result );
144+ LOG_DEBUG (" PartitionMetadataLookup failed for " << topicName << " , result " << error );
145+ promise->setFailed (error );
149146 }
150147}
151148
@@ -168,38 +165,39 @@ Future<Result, NamespaceTopicsPtr> BinaryProtoLookupService::getTopicsOfNamespac
168165 return promise->getFuture ();
169166}
170167
171- Future<Result, SchemaInfo> BinaryProtoLookupService::getSchema (const TopicNamePtr& topicName,
172- const std::string& version) {
173- GetSchemaPromisePtr promise = std::make_shared<Promise<Result, SchemaInfo>>();
174-
168+ Future<Error, SchemaInfo> BinaryProtoLookupService::getSchema (const TopicNamePtr& topicName,
169+ const std::string& version) {
170+ GetSchemaPromisePtr promise = std::make_shared<Promise<Error, SchemaInfo>>();
175171 if (!topicName) {
176- promise->setFailed (ResultInvalidTopicName);
172+ promise->setFailed (Error{ ResultInvalidTopicName, " " } );
177173 return promise->getFuture ();
178174 }
179- cnxPool_.getConnectionAsync (serviceNameResolver_.resolveHost ())
175+
176+ const auto topic = topicName->toString ();
177+ const auto address = serviceNameResolver_.resolveHost ();
178+ cnxPool_.getConnectionAsync (address, address)
180179 .addListener (std::bind (&BinaryProtoLookupService::sendGetSchemaRequest, this , topicName->toString (),
181180 version, std::placeholders::_1, std::placeholders::_2, promise));
182-
183181 return promise->getFuture ();
184182}
185183
186184void BinaryProtoLookupService::sendGetSchemaRequest (const std::string& topicName, const std::string& version,
187- Result result, const ClientConnectionWeakPtr& clientCnx,
185+ const Error& error,
186+ const ClientConnectionWeakPtr& clientCnx,
188187 const GetSchemaPromisePtr& promise) {
189- if (result != ResultOk) {
190- promise->setFailed (result );
188+ if (error. result != ResultOk) {
189+ promise->setFailed (error );
191190 return ;
192191 }
193192
194193 ClientConnectionPtr conn = clientCnx.lock ();
195194 uint64_t requestId = newRequestId ();
196195 LOG_DEBUG (" sendGetSchemaRequest. requestId: " << requestId << " topicName: " << topicName
197196 << " version: " << version);
198-
199197 conn->newGetSchema (topicName, version, requestId)
200- .addListener ([promise](Result result , const SchemaInfo& schemaInfo) {
201- if (result != ResultOk) {
202- promise->setFailed (result );
198+ .addListener ([promise](const auto & error , const SchemaInfo& schemaInfo) {
199+ if (error. result != ResultOk) {
200+ promise->setFailed (error );
203201 return ;
204202 }
205203 promise->setValue (schemaInfo);
@@ -208,11 +206,11 @@ void BinaryProtoLookupService::sendGetSchemaRequest(const std::string& topicName
208206
209207void BinaryProtoLookupService::sendGetTopicsOfNamespaceRequest (const std::string& nsName,
210208 CommandGetTopicsOfNamespace_Mode mode,
211- Result result ,
209+ const Error& error ,
212210 const ClientConnectionWeakPtr& clientCnx,
213211 const NamespaceTopicsPromisePtr& promise) {
214- if (result != ResultOk) {
215- promise->setFailed (result);
212+ if (error. result != ResultOk) {
213+ promise->setFailed (error. result );
216214 return ;
217215 }
218216
0 commit comments