summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2021-06-02 15:27:33 +0200
committerCarlos Garcia Campos <cgarcia@igalia.com>2021-06-04 10:47:39 +0200
commit18ef5ed9166914334e0c107d251525a6d082722e (patch)
treeeea54c79c51abf6f5c950d551aa26d8e30489817 /docs
parent309ff12a37cfd85f5c14cdc13ca0a625b872979e (diff)
downloadlibsoup-18ef5ed9166914334e0c107d251525a6d082722e.tar.gz
headers: stop interning all header names
To still optimize the headers handling we now follow an approach similar to the WebKit one. We use gperf to generate a fast conversion from commonly used name headers to an enum value. Headers are now stored in two arrays, one for common headers where the enum value is used as the name, and another one for uncommon headers where the name string is stored duplicated and g_ascii_strcasecmp() is used for comparisons. Both arrays are created on demand with preallocated space for 6 headers. This changes a bit the order in which headers are iterated, because we iterate the common headers first and then the uncommon ones. Fixes #111
Diffstat (limited to 'docs')
-rw-r--r--docs/reference/meson.build2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/reference/meson.build b/docs/reference/meson.build
index 19732d5b..70282eca 100644
--- a/docs/reference/meson.build
+++ b/docs/reference/meson.build
@@ -44,6 +44,8 @@ ignore_headers = [
'soup-client-message-io-http2.h',
'soup-body-input-stream-http2.h',
'soup-tls-interaction.h',
+ 'soup-header-names.h',
+ 'soup-message-headers-private.h',
]
mkdb_args = [