upgrade and improve storage efficiency of minilex
authorAndy Green <andy.green@linaro.org>
Sun, 9 Mar 2014 03:49:21 +0000 (11:49 +0800)
committerAndy Green <andy.green@linaro.org>
Sun, 9 Mar 2014 03:49:21 +0000 (11:49 +0800)
commitbbc5c070540bda7e7650407b141cbe5f47e1164c
tree79611496c50728b69e096334dabcae690ff335a4
parent1ee57f6fe8a67eb6d7952ae3dca3f4f161b40108
upgrade and improve storage efficiency of minilex

Until now minilex has done fine with providing a simple and fast header
decode state machine.  But for HTTP2.0, new headers must be added and it
is already on the limit of table branching in 1 byte (already using +0xf8
of a max limit of 0xff).

This changes the minilex format to improve storage size without loss of
decode efficiency.  It reduces the curent lws header table from 546 -> 403
bytes and upgrades the ability to increase table size by allowing jumps
to increase from the old limit of +255 states to +65535 states, which should
be enough for anything we ever want to do.

The max number of terminals is also increased from 128 to 2048.

Signed-off-by: Andy Green <andy.green@linaro.org>
lib/lextable.h
lib/minilex.c
lib/parsers.c