Skip to content
Snippets Groups Projects
Commit ba947488 authored by Craig Tiller's avatar Craig Tiller
Browse files

Add error propagation

parent 0ca68b7c
No related branches found
No related tags found
No related merge requests found
...@@ -117,14 +117,18 @@ grpc_error *grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd) { ...@@ -117,14 +117,18 @@ grpc_error *grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd) {
return GRPC_ERROR_NONE; return GRPC_ERROR_NONE;
} }
int grpc_set_socket_sndbuf(int fd, int buffer_size_bytes) { grpc_error *grpc_set_socket_sndbuf(int fd, int buffer_size_bytes) {
return 0 == setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &buffer_size_bytes, return 0 == setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &buffer_size_bytes,
sizeof(buffer_size_bytes)); sizeof(buffer_size_bytes))
? GRPC_ERROR_NONE
: GRPC_OS_ERROR(errno, "setsockopt(SO_SNDBUF)");
} }
int grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes) { grpc_error *grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes) {
return 0 == setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buffer_size_bytes, return 0 == setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buffer_size_bytes,
sizeof(buffer_size_bytes)); sizeof(buffer_size_bytes))
? GRPC_ERROR_NONE
: GRPC_OS_ERROR(errno, "setsockopt(SO_RCVBUF)");
} }
/* set a socket to close on exec */ /* set a socket to close on exec */
......
...@@ -66,27 +66,22 @@ grpc_error *grpc_set_socket_low_latency(int fd, int low_latency); ...@@ -66,27 +66,22 @@ grpc_error *grpc_set_socket_low_latency(int fd, int low_latency);
int grpc_ipv6_loopback_available(void); int grpc_ipv6_loopback_available(void);
/* Tries to set SO_NOSIGPIPE if available on this platform. /* Tries to set SO_NOSIGPIPE if available on this platform.
Returns 1 on success, 0 on failure.
If SO_NO_SIGPIPE is not available, returns 1. */ If SO_NO_SIGPIPE is not available, returns 1. */
grpc_error *grpc_set_socket_no_sigpipe_if_possible(int fd); grpc_error *grpc_set_socket_no_sigpipe_if_possible(int fd);
/* Tries to set IP_PKTINFO if available on this platform. /* Tries to set IP_PKTINFO if available on this platform.
Returns 1 on success, 0 on failure.
If IP_PKTINFO is not available, returns 1. */ If IP_PKTINFO is not available, returns 1. */
grpc_error *grpc_set_socket_ip_pktinfo_if_possible(int fd); grpc_error *grpc_set_socket_ip_pktinfo_if_possible(int fd);
/* Tries to set IPV6_RECVPKTINFO if available on this platform. /* Tries to set IPV6_RECVPKTINFO if available on this platform.
Returns 1 on success, 0 on failure.
If IPV6_RECVPKTINFO is not available, returns 1. */ If IPV6_RECVPKTINFO is not available, returns 1. */
grpc_error *grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd); grpc_error *grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd);
/* Tries to set the socket's send buffer to given size. /* Tries to set the socket's send buffer to given size. */
Returns 1 on success, 0 on failure. */ grpc_error *grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
int grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
/* Tries to set the socket's receive buffer to given size. /* Tries to set the socket's receive buffer to given size. */
Returns 1 on success, 0 on failure. */ grpc_error *grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
int grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
/* An enum to keep track of IPv4/IPv6 socket modes. /* An enum to keep track of IPv4/IPv6 socket modes.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment