aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/end2end/streaming_throughput_test.cc
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-08-31 07:29:12 -0700
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-08-31 07:29:12 -0700
commita4517a202008c90da7fbad0f4f6ad3a8171bfdf0 (patch)
tree133400f92aa6a0dd9f92df675b8c5c58de03b394 /test/cpp/end2end/streaming_throughput_test.cc
parent61575651ab0d471432e12615af5b4fe534126f8a (diff)
Remove C++11isms
Diffstat (limited to 'test/cpp/end2end/streaming_throughput_test.cc')
-rw-r--r--test/cpp/end2end/streaming_throughput_test.cc106
1 files changed, 55 insertions, 51 deletions
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<EchoResponse, EchoRequest>* stream, std::atomic<bool>* 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<EchoResponse, EchoRequest>* stream)
GRPC_OVERRIDE {
EchoRequest request;
std::atomic<bool> 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<EchoResponse, EchoRequest>* 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;