OPTIM: http: inline http_parse_chunk_size() and http_skip_chunk_crlf()
These functions are not that long and the compiler inlines them well. Doing
so has sped up the chunked encoding parser by 41% !
Note that http_forward_trailers was also declared static because it's not
exported.
diff --git a/src/proto_http.c b/src/proto_http.c
index 62b7ca2..0c812d9 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -1745,7 +1745,7 @@
* Return >0 on success, 0 when some data is missing, <0 on error.
* Note: this function is designed to parse wrapped CRLF at the end of the buffer.
*/
-int http_parse_chunk_size(struct http_msg *msg)
+static inline int http_parse_chunk_size(struct http_msg *msg)
{
const struct buffer *buf = msg->chn->buf;
const char *ptr = b_ptr(buf, msg->next);
@@ -1855,7 +1855,7 @@
* important to note that this function is designed to be able to parse wrapped
* headers at end of buffer.
*/
-int http_forward_trailers(struct http_msg *msg)
+static int http_forward_trailers(struct http_msg *msg)
{
const struct buffer *buf = msg->chn->buf;
@@ -1929,7 +1929,7 @@
* does not change anything. Note: this function is designed to parse wrapped
* CRLF at the end of the buffer.
*/
-int http_skip_chunk_crlf(struct http_msg *msg)
+static inline int http_skip_chunk_crlf(struct http_msg *msg)
{
const struct buffer *buf = msg->chn->buf;
const char *ptr;