Skip to content

Commit

Permalink
Make NetSockets quiter.
Browse files Browse the repository at this point in the history
Use print_verbose instead of ERR_* for network errors.
  • Loading branch information
Faless committed Dec 17, 2019
1 parent 0dd6079 commit feb54d0
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
48 changes: 34 additions & 14 deletions drivers/unix/net_socket_posix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ NetSocketPosix::~NetSocketPosix() {
#pragma GCC diagnostic ignored "-Wlogical-op"
#endif

NetSocketPosix::NetError NetSocketPosix::_get_socket_error() {
NetSocketPosix::NetError NetSocketPosix::_get_socket_error() const {
#if defined(WINDOWS_ENABLED)
int err = WSAGetLastError();

Expand All @@ -199,7 +199,7 @@ NetSocketPosix::NetError NetSocketPosix::_get_socket_error() {
return ERR_NET_IN_PROGRESS;
if (err == WSAEWOULDBLOCK)
return ERR_NET_WOULD_BLOCK;
ERR_PRINTS("Socket error: " + itos(err));
print_verbose("Socket error: " + itos(err));
return ERR_NET_OTHER;
#else
if (errno == EISCONN)
Expand All @@ -208,7 +208,7 @@ NetSocketPosix::NetError NetSocketPosix::_get_socket_error() {
return ERR_NET_IN_PROGRESS;
if (errno == EAGAIN || errno == EWOULDBLOCK)
return ERR_NET_WOULD_BLOCK;
ERR_PRINTS("Socket error: " + itos(errno));
print_verbose("Socket error: " + itos(errno));
return ERR_NET_OTHER;
#endif
}
Expand Down Expand Up @@ -387,8 +387,10 @@ Error NetSocketPosix::bind(IP_Address p_addr, uint16_t p_port) {
size_t addr_size = _set_addr_storage(&addr, p_addr, p_port, _ip_type);

if (::bind(_sock, (struct sockaddr *)&addr, addr_size) != 0) {
_get_socket_error();
print_verbose("Failed to bind socket.");
close();
ERR_FAIL_V(ERR_UNAVAILABLE);
return ERR_UNAVAILABLE;
}

return OK;
Expand All @@ -398,9 +400,10 @@ Error NetSocketPosix::listen(int p_max_pending) {
ERR_FAIL_COND_V(!is_open(), ERR_UNCONFIGURED);

if (::listen(_sock, p_max_pending) != 0) {

_get_socket_error();
print_verbose("Failed to listen from socket.");
close();
ERR_FAIL_V(FAILED);
return FAILED;
};

return OK;
Expand All @@ -427,7 +430,7 @@ Error NetSocketPosix::connect_to_host(IP_Address p_host, uint16_t p_port) {
case ERR_NET_IN_PROGRESS:
return ERR_BUSY;
default:
ERR_PRINT("Connection to remote host failed!");
print_verbose("Connection to remote host failed!");
close();
return FAILED;
}
Expand Down Expand Up @@ -474,12 +477,18 @@ Error NetSocketPosix::poll(PollType p_type, int p_timeout) const {
}
int ret = select(1, rdp, wrp, &ex, tp);

ERR_FAIL_COND_V(ret == SOCKET_ERROR, FAILED);
if (ret == SOCKET_ERROR) {
return FAILED;
}

if (ret == 0)
return ERR_BUSY;

ERR_FAIL_COND_V(FD_ISSET(_sock, &ex), FAILED);
if (FD_ISSET(_sock, &ex)) {
_get_socket_error();
print_verbose("Exception when polling socket.");
return FAILED;
}

if (rdp && FD_ISSET(_sock, rdp))
ready = true;
Expand All @@ -506,8 +515,11 @@ Error NetSocketPosix::poll(PollType p_type, int p_timeout) const {

int ret = ::poll(&pfd, 1, p_timeout);

ERR_FAIL_COND_V(ret < 0, FAILED);
ERR_FAIL_COND_V(pfd.revents & POLLERR, FAILED);
if (ret < 0 || pfd.revents & POLLERR) {
_get_socket_error();
print_verbose("Error when polling socket.");
return FAILED;
}

if (ret == 0)
return ERR_BUSY;
Expand Down Expand Up @@ -685,11 +697,15 @@ bool NetSocketPosix::is_open() const {

int NetSocketPosix::get_available_bytes() const {

ERR_FAIL_COND_V(_sock == SOCK_EMPTY, -1);
ERR_FAIL_COND_V(!is_open(), -1);

unsigned long len;
int ret = SOCK_IOCTL(_sock, FIONREAD, &len);
ERR_FAIL_COND_V(ret == -1, 0);
if (ret == -1) {
_get_socket_error();
print_verbose("Error when checking available bytes on socket.");
return -1;
}
return len;
}

Expand All @@ -701,7 +717,11 @@ Ref<NetSocket> NetSocketPosix::accept(IP_Address &r_ip, uint16_t &r_port) {
struct sockaddr_storage their_addr;
socklen_t size = sizeof(their_addr);
SOCKET_TYPE fd = ::accept(_sock, (struct sockaddr *)&their_addr, &size);
ERR_FAIL_COND_V(fd == SOCK_EMPTY, out);
if (fd == SOCK_EMPTY) {
_get_socket_error();
print_verbose("Error when accepting socket connection.");
return out;
}

_set_ip_port(&their_addr, r_ip, r_port);

Expand Down
2 changes: 1 addition & 1 deletion drivers/unix/net_socket_posix.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class NetSocketPosix : public NetSocket {
ERR_NET_OTHER
};

NetError _get_socket_error();
NetError _get_socket_error() const;
void _set_socket(SOCKET_TYPE p_sock, IP::Type p_ip_type, bool p_is_stream);
_FORCE_INLINE_ Error _change_multicast_group(IP_Address p_ip, String p_if_name, bool p_add);
_FORCE_INLINE_ void _set_close_exec_enabled(bool p_enabled);
Expand Down

0 comments on commit feb54d0

Please sign in to comment.