Connect to a Unix domain socket at the given path.
82 {
84
85#if UV_VERSION_MAJOR == 1 && UV_VERSION_MINOR >= 46
87 uv_pipe_connect2(
connect.request_.get(),
connect.pipe_.get(), path.data(),
89 if (connectStatus != 0) {
91 throw UvcoException(connectStatus,
92 "UnixStreamClient::connect() failed immediately");
93 }
94#else
95 uv_pipe_connect(&request_, pipe_.get(), path_.data(), onConnect);
96#endif
97
98 std::optional<UvcoException> maybeError;
99
100
101 try {
103 } catch (const UvcoException &e) {
104 maybeError = e;
105 }
107 BOOST_ASSERT(maybeError);
108 throw std::move(maybeError.value());
109}
Promise< UnixStream > connect(std::string_view path)
Connect to a Unix domain socket at the given path.
Definition uds.cc:82
void closeHandle(Handle *handle, void(*closer)(CloserArg *, void(*)(uv_handle_t *)))
Definition close.h:37
int uv_status
Result of a libuv operation, an errno error code.
Definition internal_utils.h:22
static void onConnect(uv_connect_t *req, uv_status status)
Definition uds.cc:111