MCPcopy Create free account
hub / github.com/Tradias/asio-grpc / ClientStreaming

Method ClientStreaming

example/snippets/server_callback.cpp:61–79  ·  view source on GitHub ↗

[server-rpc-client-streaming-callback] */

Source from the content-addressed store, hash-verified

59
60 /* [server-rpc-client-streaming-callback] */
61 grpc::ServerReadReactor<example::v1::Request>* ClientStreaming(grpc::CallbackServerContext*,
62 example::v1::Response* response) override
63 {
64 auto ptr = agrpc::make_reactor<agrpc::ServerReadReactor<example::v1::Request>>(get_executor());
65 auto& rpc = *ptr;
66 auto request = std::make_unique<example::v1::Request>();
67 rpc.initiate_read(*request);
68 rpc.wait_for_read(
69 [response, ptr = std::move(ptr), request = std::move(request)](const error_code&, bool ok)
70 {
71 if (!ok)
72 {
73 return;
74 }
75 response->set_integer(request->integer());
76 ptr->initiate_finish(grpc::Status::OK);
77 });
78 return rpc.get();
79 }
80 /* [server-rpc-client-streaming-callback] */
81
82 /* [server-rpc-server-streaming-callback] */

Callers

nothing calls this directly

Calls 5

moveFunction · 0.85
initiate_readMethod · 0.45
wait_for_readMethod · 0.45
initiate_finishMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected