MCPcopy Create free account
hub / github.com/catboost/catboost / IsHostUnreachable

Method IsHostUnreachable

library/cpp/netliba/v12/net_test.cpp:52–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50 }
51
52 bool TConnectedSocket::IsHostUnreachable() {
53#ifdef _win_
54 {
55 char buf[10000];
56 sockaddr_in6 fromAddress;
57
58 const NNetlibaSocket::TIoVec v = NNetlibaSocket::CreateIoVec(buf, Y_ARRAY_SIZE(buf));
59 NNetlibaSocket::TMsgHdr hdr = NNetlibaSocket::CreateRecvMsgHdr(&fromAddress, v);
60
61 const ssize_t rv = S->RecvMsg(&hdr, 0);
62 if (rv < 0) {
63 int err = WSAGetLastError();
64 if (err == WSAECONNRESET)
65 return true;
66 }
67 }
68#else
69 int err = 0;
70 socklen_t bufSize = sizeof(err);
71 S->GetSockOpt(SOL_SOCKET, SO_ERROR, (char*)&err, &bufSize);
72 if (err == ECONNREFUSED)
73 return true;
74#endif
75 return false;
76 }
77
78 ///////////////////////////////////////////////////////////////////////////////
79

Callers 1

TestMethod · 0.45

Calls 4

CreateIoVecFunction · 0.85
CreateRecvMsgHdrFunction · 0.85
GetSockOptMethod · 0.80
RecvMsgMethod · 0.45

Tested by

no test coverage detected