summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-22 22:42:57 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-22 22:42:57 +0200
commitfa25599e90a7535a02641ef03ccfc138cf5c8fd3 (patch)
tree684306c00290324a6b6141bf699292487a267039 /utils.c
parentc66ab06124fd757056817b38a9c16f8c8444bf0a (diff)
Add some more config options
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/utils.c b/utils.c
index 49b8537..eacc586 100644
--- a/utils.c
+++ b/utils.c
@@ -175,20 +175,26 @@ socket_set_low_latency(int sfd)
assert_return(sfd >= 0);
- /* FIXME: could make this configurable */
- option = true;
- if (setsockopt(sfd, SOL_SOCKET, SO_KEEPALIVE, &option, sizeof(option)) < 0)
- error("setsockopt: %m");
+ /* Probably not necessary, but can't hurt */
+ if (cfg->socket_defer) {
+ option = true;
+ if (setsockopt(sfd, SOL_SOCKET, SO_KEEPALIVE, &option, sizeof(option)) < 0)
+ error("setsockopt: %m");
+ }
/* Doubtful if it has much effect, but can't hurt */
- option = IPTOS_LOWDELAY;
- if (setsockopt(sfd, IPPROTO_IP, IP_TOS, &option, sizeof(option)) < 0)
- error("setsockopt: %m");
+ if (cfg->socket_iptos) {
+ option = IPTOS_LOWDELAY;
+ if (setsockopt(sfd, IPPROTO_IP, IP_TOS, &option, sizeof(option)) < 0)
+ error("setsockopt: %m");
+ }
/* Nagle's algorithm is a poor fit for gaming */
- option = true;
- if (setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &option, sizeof(option)) < 0)
- error("setsockopt: %m");
+ if (cfg->socket_nodelay) {
+ option = true;
+ if (setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &option, sizeof(option)) < 0)
+ error("setsockopt: %m");
+ }
}
void