MCPcopy Create free account
hub / github.com/boostorg/cobalt / echo

Function echo

example/echo_server.cpp:22–37  ·  view source on GitHub ↗

tag::echo[]

Source from the content-addressed store, hash-verified

20
21// tag::echo[]
22cobalt::promise<void> echo(cobalt::io::stream_socket socket)
23{
24 try // <1>
25 {
26 char data[4096];
27 while (socket.is_open()) // <2>
28 {
29 std::size_t n = co_await socket.read_some(boost::asio::buffer(data)); // <3>
30 co_await cobalt::io::write(socket, boost::asio::buffer(data, n)); // <4>
31 }
32 }
33 catch (std::exception& e)
34 {
35 std::printf("echo: exception: %s\n", e.what());
36 }
37}
38// end::echo[]
39
40

Callers 1

run_serverFunction · 0.85

Calls 3

writeFunction · 0.85
whatMethod · 0.80
is_openMethod · 0.45

Tested by

no test coverage detected