libwebsockets/lib
Andy Green 6d1fcb7a95 add lexical parser for headers
Profiling what happens during the ab test, one of the hotspots
was strcasecmp in a loop looking for header name matches each time.

This patch introduces a lexical parser that creates a state machine
in 276 bytes that encodes all the known header names.  The fsm is
walked bytewise as chaacters come in... most states do not need any
recursion to match or fail.

The state machine output is cut-and-pasted into parsers.c as an
unsigned char array.

The fsm generator is a bit rough and ready, included in the tree but
not built since normal mortals won't need to touch it.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-18 01:55:48 +08:00
..
.gitignore Ignoring linux build files 2013-01-09 15:46:11 +08:00
base64-decode.c introduce logging api and convert all library output to use it 2013-01-10 22:16:37 +08:00
client-handshake.c replace hashtable polltable management 2013-01-17 15:50:10 +08:00
client-parser.c update ping test client and stop exposing payload to extensions 2013-01-16 15:12:33 +08:00
client.c add lexical parser for headers 2013-01-18 01:55:48 +08:00
daemonize.c include daemonization file whoops 2013-01-17 15:49:27 +08:00
extension-deflate-frame.c solve flowcontrol problems 2013-01-17 17:18:55 +08:00
extension-deflate-frame.h Separate compression levels for server and client, 2013-01-10 12:45:54 +08:00
extension-deflate-stream.c introduce logging api and convert all library output to use it 2013-01-10 22:16:37 +08:00
extension-deflate-stream.h Fixed deflate-stream extension. 2013-01-09 18:17:42 +08:00
extension.c deprecate x google mux 2013-01-17 19:53:16 +08:00
getifaddrs.c introduce getifaddrs for toolchains without it 2013-01-12 20:39:47 +08:00
getifaddrs.h introduce getifaddrs for toolchains without it 2013-01-12 20:39:47 +08:00
handshake.c add lexical parser for headers 2013-01-18 01:55:48 +08:00
libwebsockets.c solve flowcontrol problems 2013-01-17 17:18:55 +08:00
libwebsockets.h replace hashtable polltable management 2013-01-17 15:50:10 +08:00
Makefile.am deprecate x google mux 2013-01-17 19:53:16 +08:00
md5.c introduce-private-md5-sha1.patch 2011-01-23 17:47:08 +00:00
minilex.c add lexical parser for headers 2013-01-18 01:55:48 +08:00
output.c check errors on shutdown close 2013-01-17 17:07:52 +08:00
parsers.c add lexical parser for headers 2013-01-18 01:55:48 +08:00
private-libwebsockets.h add lexical parser for headers 2013-01-18 01:55:48 +08:00
sha-1.c Static variable is now const. 2013-01-09 15:14:31 +08:00