[server-rpc-server-streaming-callback] */
| 81 | |
| 82 | /* [server-rpc-server-streaming-callback] */ |
| 83 | grpc::ServerWriteReactor<example::v1::Response>* ServerStreaming(grpc::CallbackServerContext*, |
| 84 | const example::v1::Request* request) override |
| 85 | { |
| 86 | auto ptr = agrpc::make_reactor<agrpc::ServerWriteReactor<example::v1::Response>>(get_executor()); |
| 87 | auto& rpc = *ptr; |
| 88 | auto response = std::make_unique<example::v1::Response>(); |
| 89 | response->set_integer(request->integer()); |
| 90 | rpc.initiate_write(*response); |
| 91 | rpc.wait_for_write( |
| 92 | [ptr = std::move(ptr), response = std::move(response)](const error_code&, bool ok) |
| 93 | { |
| 94 | if (!ok) |
| 95 | { |
| 96 | return; |
| 97 | } |
| 98 | ptr->initiate_finish(grpc::Status::OK); |
| 99 | }); |
| 100 | return rpc.get(); |
| 101 | } |
| 102 | /* [server-rpc-server-streaming-callback] */ |
| 103 | |
| 104 | /* [server-rpc-bidi-streaming-callback] */ |
nothing calls this directly
no test coverage detected