|
|
|
@ -326,12 +326,14 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State &state) { |
|
|
|
|
s.Init(state); |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.on_complete = done.get(); |
|
|
|
|
op.send_initial_metadata = &b; |
|
|
|
|
op.send_initial_metadata = true; |
|
|
|
|
op.payload->send_initial_metadata.send_initial_metadata = &b; |
|
|
|
|
s.Op(&op); |
|
|
|
|
}); |
|
|
|
|
done = MakeClosure([&](grpc_exec_ctx *exec_ctx, grpc_error *error) { |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
op.cancel_stream = true; |
|
|
|
|
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
s.Op(&op); |
|
|
|
|
s.DestroyThen(start.get()); |
|
|
|
|
}); |
|
|
|
@ -399,18 +401,21 @@ static void BM_TransportStreamSend(benchmark::State &state) { |
|
|
|
|
grpc_slice_buffer_stream_init(&send_stream, &send_buffer, 0); |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.on_complete = c.get(); |
|
|
|
|
op.send_message = &send_stream.base; |
|
|
|
|
op.send_message = true; |
|
|
|
|
op.payload->send_message.send_message = &send_stream.base; |
|
|
|
|
s.Op(&op); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.send_initial_metadata = &b; |
|
|
|
|
op.send_initial_metadata = true; |
|
|
|
|
op.payload->send_initial_metadata.send_initial_metadata = &b; |
|
|
|
|
op.on_complete = c.get(); |
|
|
|
|
s.Op(&op); |
|
|
|
|
|
|
|
|
|
f.FlushExecCtx(); |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
op.cancel_stream = true; |
|
|
|
|
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
s.Op(&op); |
|
|
|
|
s.DestroyThen( |
|
|
|
|
MakeOnceClosure([](grpc_exec_ctx *exec_ctx, grpc_error *error) {})); |
|
|
|
@ -520,8 +525,9 @@ static void BM_TransportStreamRecv(benchmark::State &state) { |
|
|
|
|
received = 0; |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.on_complete = do_nothing.get(); |
|
|
|
|
op.recv_message = &recv_stream; |
|
|
|
|
op.recv_message_ready = drain_start.get(); |
|
|
|
|
op.recv_message = true; |
|
|
|
|
op.payload->recv_message.recv_message = &recv_stream; |
|
|
|
|
op.payload->recv_message.recv_message_ready = drain_start.get(); |
|
|
|
|
s.Op(&op); |
|
|
|
|
f.PushInput(grpc_slice_ref(incoming_data)); |
|
|
|
|
}); |
|
|
|
@ -553,8 +559,10 @@ static void BM_TransportStreamRecv(benchmark::State &state) { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.send_initial_metadata = &b; |
|
|
|
|
op.recv_initial_metadata = &b_recv; |
|
|
|
|
op.send_initial_metadata = true; |
|
|
|
|
op.payload->send_initial_metadata.send_initial_metadata = &b; |
|
|
|
|
op.recv_initial_metadata = true; |
|
|
|
|
op.payload->recv_initial_metadata.recv_initial_metadata = &b_recv; |
|
|
|
|
op.on_complete = c.get(); |
|
|
|
|
s.Op(&op); |
|
|
|
|
f.PushInput(SLICE_FROM_BUFFER( |
|
|
|
@ -572,7 +580,8 @@ static void BM_TransportStreamRecv(benchmark::State &state) { |
|
|
|
|
|
|
|
|
|
f.FlushExecCtx(); |
|
|
|
|
memset(&op, 0, sizeof(op)); |
|
|
|
|
op.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
op.cancel_stream = true; |
|
|
|
|
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; |
|
|
|
|
s.Op(&op); |
|
|
|
|
s.DestroyThen( |
|
|
|
|
MakeOnceClosure([](grpc_exec_ctx *exec_ctx, grpc_error *error) {})); |
|
|
|
|