net: http: allow HTTP_NETWORK_TIMEOUT to be configured

Currently, the HTTP_NETWORK_TIMEOUT setting is hard-coded as 20 seconds.
Not every application may want to wait that long, so let's change this
to a CONFIG option: CONFIG_HTTP_CLIENT_NETWORK_TIMEOUT

NOTE: This also removes HTTP_NETWORK_TIMEOUT from the public http.h
include file.  It was not being used externally to HTTP client sources.

Signed-off-by: Michael Scott <michael.scott@linaro.org>
This commit is contained in:
Michael Scott 2017-08-15 16:01:03 -07:00 committed by Jukka Rissanen
commit fe84d4f7dd
3 changed files with 11 additions and 3 deletions

View file

@ -107,9 +107,6 @@ enum http_final_call {
#define HTTP_STATUS_STR_SIZE 32 #define HTTP_STATUS_STR_SIZE 32
#endif #endif
/* Default network activity timeout in seconds */
#define HTTP_NETWORK_TIMEOUT K_SECONDS(20)
/* It seems enough to hold 'Content-Length' and its value */ /* It seems enough to hold 'Content-Length' and its value */
#define HTTP_CONTENT_LEN_SIZE 48 #define HTTP_CONTENT_LEN_SIZE 48

View file

@ -48,6 +48,14 @@ config HTTP_CLIENT
help help
Enables HTTP client routines Enables HTTP client routines
config HTTP_CLIENT_NETWORK_TIMEOUT
int "Default network activity timeout in seconds"
default 20
depends on HTTP_CLIENT
help
Default network activity timeout in seconds. This setting is used
for TCP connection timeout.
config HTTP_PARSER config HTTP_PARSER
bool "HTTP Parser support" bool "HTTP Parser support"
default n default n

View file

@ -49,6 +49,9 @@
#define HTTP_CONTENT_TYPE "Content-Type: " #define HTTP_CONTENT_TYPE "Content-Type: "
#define HTTP_CONT_LEN_SIZE 64 #define HTTP_CONT_LEN_SIZE 64
/* Default network activity timeout in seconds */
#define HTTP_NETWORK_TIMEOUT K_SECONDS(CONFIG_HTTP_CLIENT_NETWORK_TIMEOUT)
struct waiter { struct waiter {
struct http_client_ctx *ctx; struct http_client_ctx *ctx;
struct k_sem wait; struct k_sem wait;