21 #include "absl/memory/memory.h"
37 req.mutable_param()->set_echo_metadata(
true);
38 ctx.AddMetadata(
"testkey",
"testvalue");
39 req.set_message(
"Hello");
47 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
50 req.mutable_param()->set_echo_metadata(
true);
51 ctx.AddMetadata(
"testkey",
"testvalue");
52 req.set_message(
"Hello");
54 string expected_resp =
"";
58 expected_resp +=
"Hello";
67 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
70 req.mutable_param()->set_echo_metadata(
true);
71 ctx.AddMetadata(
"testkey",
"testvalue");
72 req.set_message(
"Hello");
86 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
90 ctx.AddMetadata(
"testkey",
"testvalue");
91 req.mutable_param()->set_echo_metadata(
true);
105 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
108 EchoResponse recv_response;
114 std::unique_ptr<ClientAsyncResponseReader<EchoResponse>> response_reader(
116 response_reader->Finish(&recv_response, &recv_status,
tag(1));
117 Verifier().Expect(1,
true).Verify(&
cq);
123 const std::shared_ptr<Channel>& ) {
128 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
131 EchoResponse recv_response;
137 std::unique_ptr<ClientAsyncReader<EchoResponse>> cli_stream(
139 Verifier().Expect(1,
true).Verify(&
cq);
142 cli_stream->Read(&recv_response,
tag(2));
143 Verifier().Expect(2,
true).Verify(&
cq);
147 cli_stream->Read(&recv_response,
tag(3));
148 Verifier().Expect(3,
false).Verify(&
cq);
150 cli_stream->Finish(&recv_status,
tag(4));
151 Verifier().Expect(4,
true).Verify(&
cq);
160 auto stub = grpc::testing::EchoTestService::NewStub(
channel);
165 std::condition_variable
cv;
167 req.mutable_param()->set_echo_metadata(
true);
168 ctx.AddMetadata(
"testkey",
"testvalue");
169 req.set_message(
"Hello");
174 std::lock_guard<std::mutex> l(
mu);
178 std::unique_lock<std::mutex> l(
mu);
185 const string&
key,
const string&
value) {
195 const string&
key,
const string&
value) {
204 std::vector<std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>
206 std::vector<std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>
209 creators.reserve(20);
210 for (
auto i = 0;
i < 20;
i++) {
211 creators.push_back(absl::make_unique<PhonyInterceptorFactory>());