Message ID | 7931960F-4A3F-448E-BDDE-773E48A1789B@nuovations.com (mailing list archive) |
---|---|
Headers | show |
Series | Add Configurable Online Check TCP Connect Timeout | expand |
Hi Grant, > This introduces support for a configurable "online" HTTP-based Internet > reachability check TCP connection timeout by: > > 1. Introducing a new 'OnlineCheckConnectTimeout' setting. > 2. Adding to GWeb a TCP connection timeout member, getter, and setter. > 3. Leveraging both (1) and (2) in the service and WISPr code to pass > (1) to (2) when so configured. > > If the GWeb TCP connect timeout is greater than zero, a GLib connection > timeout timer and callback are added to the session such that, when they > expire, the in flight TCP connection is aborted and the session closure > function invoked with 'GWEB_HTTP_STATUS_CODE_REQUEST_TIMEOUT'. > > A TCP connect timeout of zero (0) indicates that no explicit connection > timeout will be used and no timer or callback added to the session, > leaving the timeout to the underlying operating system and its network > stack. > > With an operating system default connection time out of roughly 130 > seconds, when the 'EnableOnlineToReadyTransition' setting is asserted, > failovers to an alternative network service can take unreasonably long > without such a setting as this since the connection timeout dominates > the failover time. > > Grant Erickson (8): > gweb: Add TCP connect timeout member and getter/setter. > gweb: Factor out session transport closure. > gweb: Leverage TCP connect timeout. > gweb: Add documentation to TCP connect timeout-related functions. > main: Introduce the 'OnlineCheckConnectTimeout' setting. > Leverage GWeb connect timeout and 'OnlineCheckConnectTimeout'. > Add documentation for 'OnlineCheckConnectTimeout'. > wispr: Add documentation to '__connman_wispr_start'. > > doc/connman.conf.5.in | 9 ++ > gweb/gweb.c | 286 +++++++++++++++++++++++++++++++++++++++--- > gweb/gweb.h | 3 + > src/connman.h | 1 + > src/main.c | 30 +++++ > src/main.conf | 9 ++ > src/service.c | 10 +- > src/wispr.c | 57 ++++++++- > 8 files changed, 379 insertions(+), 26 deletions(-) all 8 patches have been applied. Regards Marcel