From 395490ea791cad34fd9130feb37eb145b16c1dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 21 Nov 2022 13:19:12 +0100 Subject: Enable send timeouts by default When no TCP options are provided, Gun will enable send timeouts at 15s. The value was chosen large enough to be safe while still allowing Gun to detect send errors eventually. Different applications may need to tweak and lower this value. --- src/gun.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gun.erl b/src/gun.erl index bd19b7c..880a2ae 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -1022,7 +1022,10 @@ default_retry_fun(Retries, Opts) -> domain_lookup(_, {retries, Retries, _}, State=#state{host=Host, port=Port, opts=Opts, event_handler=EvHandler, event_handler_state=EvHandlerState0}) -> - TransOpts = maps:get(tcp_opts, Opts, []), + TransOpts = maps:get(tcp_opts, Opts, [ + {send_timeout, 15000}, + {send_timeout_close, true} + ]), DomainLookupTimeout = maps:get(domain_lookup_timeout, Opts, infinity), DomainLookupEvent = #{ host => Host, -- cgit v1.2.3