diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-08-03 22:21:03 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-08-03 22:21:03 +0300 |
commit | c75a811a7734221003ac2628493832acf36b12d5 (patch) | |
tree | 8b5a28eaf975f19badf2f9722c15ff2164bff3fb /tests | |
parent | f9f6ba70f7844321d90476be9bc0bd5ae3e11b45 (diff) | |
download | vmod-dict-c75a811a7734221003ac2628493832acf36b12d5.tar.gz vmod-dict-c75a811a7734221003ac2628493832acf36b12d5.tar.bz2 |
Serialize write access. Improve API.
* src/vmod_dict.c (entry): Link into a double-linked list.
(entry_append, entry_remove): New functions.
(max_coll): New static.
(locker_t): New type.
(locker_init,locker_rlock,locker_wlock)
(locker_runlock,locker_wunlock): New functions.
(load_entries): Use syslog for diagnostics. Abort if unable to
open the file. Fix minor memory leak.
(rehash,fill_table): New functions.
(dict_event): Handle VCL_EVENT_DISCARD.
(vmod_load): Change signature.
(vmod_ci,vmod_collisions): New functions.
(vmod_clear): New function.
* src/vmod_dict.vcc: Update.
* tests/ci.at: Accomodate the above changes.
* tests/cs.at: Likewise.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ci.at | 4 | ||||
-rw-r--r-- | tests/cs.at | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/tests/ci.at b/tests/ci.at index 6554e53..d486188 100644 --- a/tests/ci.at +++ b/tests/ci.at | |||
@@ -2,7 +2,9 @@ AT_SETUP([case-insensitive]) | |||
2 | AT_KEYWORDS([case-insensitive]) | 2 | AT_KEYWORDS([case-insensitive]) |
3 | AT_VARNISHTEST([dict],[ | 3 | AT_VARNISHTEST([dict],[ |
4 | sub vcl_init { | 4 | sub vcl_init { |
5 | dict.load("\${vmod_topsrc}/tests/num.dict", true, 0); | 5 | dict.ci(true); |
6 | dict.collisions(0); | ||
7 | dict.load("\${vmod_topsrc}/tests/num.dict"); | ||
6 | } | 8 | } |
7 | sub vcl_recv { | 9 | sub vcl_recv { |
8 | set req.http.X-result = dict.lookup(regsub(req.url, "^/(.*)", "\1")); | 10 | set req.http.X-result = dict.lookup(regsub(req.url, "^/(.*)", "\1")); |
diff --git a/tests/cs.at b/tests/cs.at index f847773..0333943 100644 --- a/tests/cs.at +++ b/tests/cs.at | |||
@@ -2,7 +2,8 @@ AT_SETUP([case-sensitive]) | |||
2 | AT_KEYWORDS([case-sensitive]) | 2 | AT_KEYWORDS([case-sensitive]) |
3 | AT_VARNISHTEST([dict],[ | 3 | AT_VARNISHTEST([dict],[ |
4 | sub vcl_init { | 4 | sub vcl_init { |
5 | dict.load("\${vmod_topsrc}/tests/num.dict", false, 0); | 5 | dict.collisions(0); |
6 | dict.load("\${vmod_topsrc}/tests/num.dict"); | ||
6 | } | 7 | } |
7 | sub vcl_recv { | 8 | sub vcl_recv { |
8 | set req.http.X-result = dict.lookup(regsub(req.url, "^/(.*)", "\1")); | 9 | set req.http.X-result = dict.lookup(regsub(req.url, "^/(.*)", "\1")); |