1414
1515#include " client/clientservice/request_service.hpp"
1616#include " client/concordclient/concord_client.hpp"
17- #include " concord_client_request.pb.h"
1817#include " client/thin-replica-client/trace_contexts.hpp"
1918
2019using namespace client ::thin_replica_client;
21- using namespace vmware ::concord::client::concord_client_request::v1;
2220
2321namespace concord ::client::clientservice {
2422
@@ -75,12 +73,9 @@ void RequestServiceCallData::sendToConcordClient() {
7573 bool is_any_request_type = false ;
7674 bft::client::Msg msg;
7775 if (request_.has_typed_request ()) {
78- ConcordClientRequest concord_request;
79- concord_request.set_client_service_id (client_->getSubscriptionId ());
80- concord_request.mutable_application_request ()->CopyFrom (request_.typed_request ());
81- size_t request_size = concord_request.ByteSizeLong ();
76+ size_t request_size = request_.typed_request ().ByteSizeLong ();
8277 std::string request (request_size, ' \0 ' );
83- concord_request .SerializeToArray (request.data (), request_size);
78+ request_. typed_request () .SerializeToArray (request.data (), request_size);
8479 msg = bft::client::Msg (request.begin (), request.end ());
8580 is_any_request_type = true ;
8681 } else {
@@ -95,6 +90,12 @@ void RequestServiceCallData::sendToConcordClient() {
9590 req_config.pre_execute = request_.pre_execute ();
9691 req_config.timeout = timeout;
9792 req_config.correlation_id = request_.correlation_id ();
93+ if (request_.has_typed_request ()) {
94+ req_config.request_type = bftEngine::RequestType::ANY_MESSAGE;
95+ } else {
96+ req_config.request_type = bftEngine::RequestType::RAW_MESSAGE;
97+ }
98+ req_config.client_service_id = client_->getSubscriptionId ();
9899
99100 auto callback = [this , req_config, is_any_request_type](concord::client::concordclient::SendResult&& send_result) {
100101 grpc::Status status;
@@ -163,13 +164,12 @@ void RequestServiceCallData::sendToConcordClient() {
163164
164165 // Check if the application response is of Any Type then set it to Any response.
165166 if (is_any_request_type) {
166- ConcordClientResponse concord_response ;
167- if (!concord_response. ParseFromArray (data.c_str (), data.size ())) {
167+ google::protobuf::Any* app_response = this -> response_ . mutable_typed_response () ;
168+ if (!app_response-> ParseFromArray (data.c_str (), data.size ())) {
168169 status = grpc::Status (grpc::StatusCode::INTERNAL, " Internal error in parsing typed response" );
169170 this ->populateResult (status);
170171 return ;
171172 }
172- this ->response_ .mutable_typed_response ()->CopyFrom (concord_response.application_response ());
173173 } else {
174174 this ->response_ .set_raw_response (std::move (data));
175175 }
0 commit comments