Merge branch 'bye-bye-completion-queue-pie' into we-dont-need-no-backup
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index 15b3c86..57300a0 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -66,14 +66,10 @@
 static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); }
 
 static void drain_cq(grpc_completion_queue *cq) {
-  grpc_event *ev;
-  grpc_completion_type type;
+  grpc_event ev;
   do {
     ev = grpc_completion_queue_next(cq, five_seconds_time());
-    GPR_ASSERT(ev);
-    type = ev->type;
-    grpc_event_finish(ev);
-  } while (type != GRPC_QUEUE_SHUTDOWN);
+  } while (ev.type != GRPC_QUEUE_SHUTDOWN);
 }
 
 static void shutdown_server(grpc_end2end_test_fixture *f) {
@@ -144,7 +140,7 @@
              grpc_server_request_call(f.server, &s, &call_details,
                                       &request_metadata_recv, f.cq,
                                       f.cq, tag(101)));
-  cq_expect_completion(cqv, tag(101), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(101), 1);
   cq_verify(cqv);
 
   op = ops;
@@ -161,8 +157,8 @@
   op++;
   GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(s, ops, op - ops, tag(102)));
 
-  cq_expect_completion(cqv, tag(102), GRPC_OP_OK);
-  cq_expect_completion(cqv, tag(1), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(102), 1);
+  cq_expect_completion(cqv, tag(1), 1);
   cq_verify(cqv);
 
   GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
@@ -194,7 +190,7 @@
   int live_call;
   gpr_timespec deadline;
   cq_verifier *cqv;
-  grpc_event *ev;
+  grpc_event ev;
   grpc_call_details call_details;
   grpc_metadata_array request_metadata_recv;
   grpc_metadata_array initial_metadata_recv1;
@@ -297,26 +293,26 @@
 
   got_client_start = 0;
   got_server_start = 0;
+  live_call = -1;
   while (!got_client_start || !got_server_start) {
     ev = grpc_completion_queue_next(f.cq,
                                     GRPC_TIMEOUT_SECONDS_TO_DEADLINE(3));
-    GPR_ASSERT(ev);
-    GPR_ASSERT(ev->type == GRPC_OP_COMPLETE);
-    GPR_ASSERT(ev->data.op_complete == GRPC_OP_OK);
-    if (ev->tag == tag(101)) {
+    GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
+    GPR_ASSERT(ev.success);
+    if (ev.tag == tag(101)) {
       GPR_ASSERT(!got_server_start);
       got_server_start = 1;
     } else {
       GPR_ASSERT(!got_client_start);
-      GPR_ASSERT(ev->tag == tag(301) || ev->tag == tag(401));
+      GPR_ASSERT(ev.tag == tag(301) || ev.tag == tag(401));
       /* The /alpha or /beta calls started above could be invoked (but NOT both);
        * check this here */
       /* We'll get tag 303 or 403, we want 300, 400 */
-      live_call = ((int)(gpr_intptr)ev->tag) - 1;
+      live_call = ((int)(gpr_intptr)ev.tag) - 1;
       got_client_start = 1;
     }
-    grpc_event_finish(ev);
   }
+  GPR_ASSERT(live_call == 300 || live_call == 400);
 
   op = ops;
   op->op = GRPC_OP_SEND_INITIAL_METADATA;
@@ -333,18 +329,18 @@
   GPR_ASSERT(GRPC_CALL_OK ==
              grpc_call_start_batch(s1, ops, op - ops, tag(102)));
 
-  cq_expect_completion(cqv, tag(102), GRPC_OP_OK);
-  cq_expect_completion(cqv, tag(live_call + 2), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(102), 1);
+  cq_expect_completion(cqv, tag(live_call + 2), 1);
   /* first request is finished, we should be able to start the second */
   live_call = (live_call == 300) ? 400 : 300;
-  cq_expect_completion(cqv, tag(live_call + 1), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(live_call + 1), 1);
   cq_verify(cqv);
 
   GPR_ASSERT(GRPC_CALL_OK ==
              grpc_server_request_call(f.server, &s2, &call_details,
                                       &request_metadata_recv, f.cq,
                                       f.cq, tag(201)));
-  cq_expect_completion(cqv, tag(201), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(201), 1);
   cq_verify(cqv);
 
   op = ops;
@@ -362,8 +358,8 @@
   GPR_ASSERT(GRPC_CALL_OK ==
              grpc_call_start_batch(s2, ops, op - ops, tag(202)));
 
-  cq_expect_completion(cqv, tag(live_call + 2), GRPC_OP_OK);
-  cq_expect_completion(cqv, tag(202), GRPC_OP_OK);
+  cq_expect_completion(cqv, tag(live_call + 2), 1);
+  cq_expect_completion(cqv, tag(202), 1);
   cq_verify(cqv);
 
   cq_verifier_destroy(cqv);