MCPcopy Create free account
hub / github.com/ElementsProject/elements / IsConnected

Method IsConnected

src/util/sock.cpp:298–321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

296}
297
298bool Sock::IsConnected(std::string& errmsg) const
299{
300 if (m_socket == INVALID_SOCKET) {
301 errmsg = "not connected";
302 return false;
303 }
304
305 char c;
306 switch (Recv(&c, sizeof(c), MSG_PEEK)) {
307 case -1: {
308 const int err = WSAGetLastError();
309 if (IOErrorIsPermanent(err)) {
310 errmsg = NetworkErrorString(err);
311 return false;
312 }
313 return true;
314 }
315 case 0:
316 errmsg = "closed";
317 return false;
318 default:
319 return true;
320 }
321}
322
323#ifdef WIN32
324std::string NetworkErrorString(int err)

Callers 2

CheckControlSockMethod · 0.45

Calls 2

IOErrorIsPermanentFunction · 0.85
NetworkErrorStringFunction · 0.85

Tested by

no test coverage detected