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

Function connect

example/http.cpp:37–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35
36
37cobalt::promise<ssl_socket_type> connect(std::string_view host,
38 boost::asio::ssl::context &ctx) {
39 boost::asio::ip::tcp::resolver resolve{cobalt::this_thread::get_executor()};
40 auto endpoints = co_await resolve.async_resolve(host, "https", cobalt::use_op);
41
42 // Timer for timeouts
43
44 ssl_socket_type sock{cobalt::this_thread::get_executor(), ctx};
45 printf("connecting\n");
46
47 co_await sock.next_layer().async_connect(*endpoints.begin());
48 printf("connected\n");
49
50 // Connected, now do the handshake
51 printf("handshaking\n");
52 co_await sock.async_handshake(boost::asio::ssl::stream_base::client);
53 printf("hand shook\n");
54 co_return sock;
55}
56
57cobalt::main co_main(int argc, char **argv)
58{

Callers 1

co_mainFunction · 0.70

Calls 1

get_executorFunction · 0.85

Tested by

no test coverage detected