Refactor: Bail early in AcceptConnection
This commit is contained in:
committed by
Taylor Hornby
parent
057d60781d
commit
12005016cd
21
src/net.cpp
21
src/net.cpp
@@ -696,29 +696,37 @@ static void AcceptConnection(const ListenSocket& hListenSocket) {
|
||||
int nErr = WSAGetLastError();
|
||||
if (nErr != WSAEWOULDBLOCK)
|
||||
LogPrintf("socket error accept failed: %s\n", NetworkErrorString(nErr));
|
||||
return;
|
||||
}
|
||||
else if (!IsSelectableSocket(hSocket))
|
||||
|
||||
if (!IsSelectableSocket(hSocket))
|
||||
{
|
||||
LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
else if (nInbound >= nMaxInbound)
|
||||
|
||||
if (nInbound >= nMaxInbound)
|
||||
{
|
||||
LogPrint("net", "connection from %s dropped (full)\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
else if (!whitelisted && (nInbound >= (nMaxInbound - nWhiteConnections)))
|
||||
|
||||
if (!whitelisted && (nInbound >= (nMaxInbound - nWhiteConnections)))
|
||||
{
|
||||
LogPrint("net", "connection from %s dropped (non-whitelisted)\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
else if (CNode::IsBanned(addr) && !whitelisted)
|
||||
|
||||
if (CNode::IsBanned(addr) && !whitelisted)
|
||||
{
|
||||
LogPrintf("connection from %s dropped (banned)\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// According to the internet TCP_NODELAY is not carried into accepted sockets
|
||||
// on all platforms. Set it again here just to be sure.
|
||||
int set = 1;
|
||||
@@ -738,7 +746,6 @@ static void AcceptConnection(const ListenSocket& hListenSocket) {
|
||||
LOCK(cs_vNodes);
|
||||
vNodes.push_back(pnode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ThreadSocketHandler()
|
||||
|
||||
Reference in New Issue
Block a user