From a4517a202008c90da7fbad0f4f6ad3a8171bfdf0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 31 Aug 2015 07:29:12 -0700 Subject: Remove C++11isms --- test/cpp/end2end/streaming_throughput_test.cc | 106 +++++++++++++------------- 1 file changed, 55 insertions(+), 51 deletions(-) (limited to 'test/cpp/end2end/streaming_throughput_test.cc') diff --git a/test/cpp/end2end/streaming_throughput_test.cc b/test/cpp/end2end/streaming_throughput_test.cc index d6f23e5564..d5312a90c1 100644 --- a/test/cpp/end2end/streaming_throughput_test.cc +++ b/test/cpp/end2end/streaming_throughput_test.cc @@ -57,63 +57,65 @@ using grpc::cpp::test::util::EchoRequest; using grpc::cpp::test::util::EchoResponse; using std::chrono::system_clock; -const char* kLargeString = R"( - To be, or not to be- that is the question: - Whether 'tis nobler in the mind to suffer - The slings and arrows of outrageous fortune - Or to take arms against a sea of troubles, - And by opposing end them. To die- to sleep- - No more; and by a sleep to say we end - The heartache, and the thousand natural shock - That flesh is heir to. 'Tis a consummation - Devoutly to be wish'd. To die- to sleep. - To sleep- perchance to dream: ay, there's the rub! - For in that sleep of death what dreams may come - When we have shuffled off this mortal coil, - Must give us pause. There's the respect - That makes calamity of so long life. - For who would bear the whips and scorns of time, - Th' oppressor's wrong, the proud man's contumely, - The pangs of despis'd love, the law's delay, - The insolence of office, and the spurns - That patient merit of th' unworthy takes, - When he himself might his quietus make - With a bare bodkin? Who would these fardels bear, - To grunt and sweat under a weary life, - But that the dread of something after death- - The undiscover'd country, from whose bourn - No traveller returns- puzzles the will, - And makes us rather bear those ills we have - Than fly to others that we know not of? - Thus conscience does make cowards of us all, - And thus the native hue of resolution - Is sicklied o'er with the pale cast of thought, - And enterprises of great pith and moment - With this regard their currents turn awry - And lose the name of action.- Soft you now! - The fair Ophelia!- Nymph, in thy orisons - Be all my sins rememb'red. -)"; +const char* kLargeString = "(" + "To be, or not to be- that is the question:" + "Whether 'tis nobler in the mind to suffer" + "The slings and arrows of outrageous fortune" + "Or to take arms against a sea of troubles," + "And by opposing end them. To die- to sleep-" + "No more; and by a sleep to say we end" + "The heartache, and the thousand natural shock" + "That flesh is heir to. 'Tis a consummation" + "Devoutly to be wish'd. To die- to sleep." + "To sleep- perchance to dream: ay, there's the rub!" + "For in that sleep of death what dreams may come" + "When we have shuffled off this mortal coil," + "Must give us pause. There's the respect" + "That makes calamity of so long life." + "For who would bear the whips and scorns of time," + "Th' oppressor's wrong, the proud man's contumely," + "The pangs of despis'd love, the law's delay," + "The insolence of office, and the spurns" + "That patient merit of th' unworthy takes," + "When he himself might his quietus make" + "With a bare bodkin? Who would these fardels bear," + "To grunt and sweat under a weary life," + "But that the dread of something after death-" + "The undiscover'd country, from whose bourn" + "No traveller returns- puzzles the will," + "And makes us rather bear those ills we have" + "Than fly to others that we know not of?" + "Thus conscience does make cowards of us all," + "And thus the native hue of resolution" + "Is sicklied o'er with the pale cast of thought," + "And enterprises of great pith and moment" + "With this regard their currents turn awry" + "And lose the name of action.- Soft you now!" + "The fair Ophelia!- Nymph, in thy orisons" + "Be all my sins rememb'red." +); namespace grpc { namespace testing { class TestServiceImpl : public ::grpc::cpp::test::util::TestService::Service { public: + static void BidiStream_Sender(ServerReaderWriter* stream, std::atomic* should_exit) { + EchoResponse response; + response.set_message(kLargeString); + while (!should_exit->load()) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + stream->Write(response); + } + } + // Only implement the one method we will be calling for brevity. Status BidiStream(ServerContext* context, ServerReaderWriter* stream) GRPC_OVERRIDE { EchoRequest request; std::atomic should_exit(false); - std::thread sender([stream, &should_exit]() { - EchoResponse response; - response.set_message(kLargeString); - while (!should_exit.load()) { - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - stream->Write(response); - } - }); + std::thread sender(std::bind(&TestServiceImpl::BidiStream_Sender, stream, should_exit)); while (stream->Read(&request)) { std::this_thread::sleep_for(std::chrono::milliseconds(3)); @@ -151,18 +153,20 @@ class End2endTest : public ::testing::Test { TestServiceImpl service_; }; +static void Drainer(ClientReaderWriter* reader) { + EchoResponse response; + while (reader->Read(&response)) { + // Just drain out the responses as fast as possible. + } +} + TEST_F(End2endTest, StreamingThroughput) { ResetStub(); grpc::ClientContext context; auto stream = stub_->BidiStream(&context); auto reader = stream.get(); - std::thread receiver([reader] { - EchoResponse response; - while (reader->Read(&response)) { - // Just drain out the responses as fast as possible. - } - }); + std::thread receiver(std::bind(Drainer, reader)); for (int i = 0; i < 10000; i++) { EchoRequest request; -- cgit v1.2.3