MCPcopy Create free account
hub / github.com/apache/brpc / Echo

Method Echo

test/brpc_streaming_rpc_unittest.cpp:196–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194 : _options(options), _state(state) {}
195
196 void Echo(::google::protobuf::RpcController* controller,
197 const ::test::EchoRequest* request,
198 ::test::EchoResponse* response,
199 ::google::protobuf::Closure* done) override {
200 brpc::ClosureGuard done_guard(done);
201 response->set_message(request->message());
202 brpc::Controller* cntl = static_cast<brpc::Controller*>(controller);
203
204 brpc::StreamIds response_streams;
205 ASSERT_EQ(0, brpc::StreamAccept(response_streams, *cntl, &_options));
206 ASSERT_EQ(2u, response_streams.size());
207 _state->server_first_stream_id = response_streams[0];
208 _state->server_extra_stream_id = response_streams[1];
209
210 bthread_t tid;
211 ASSERT_EQ(0, bthread_start_background(
212 &tid, &BTHREAD_ATTR_NORMAL,
213 SendTwoMessagesOnServerExtraStream, _state));
214 _state->server_send_tid = tid;
215 _state->server_send_started.store(true, std::memory_order_release);
216 }
217
218private:
219 brpc::StreamOptions _options;

Callers

nothing calls this directly

Calls 5

StreamAcceptFunction · 0.85
bthread_start_backgroundFunction · 0.85
messageMethod · 0.45
sizeMethod · 0.45
storeMethod · 0.45

Tested by

no test coverage detected