authorSergey Poznyakoff <>2015-02-16 10:23:23 (GMT)
committer Sergey Poznyakoff <>2015-02-16 10:23:41 (GMT)
commitab643e782b45d6a53994cdd401227fe34168ac2f (patch) (side-by-side diff)
parent429f9d75c1f6bad9a71fe77351333195859478d2 (diff)
Update docs
Diffstat (more/less context) (ignore whitespace changes)
2 files changed, 31 insertions, 2 deletions
diff --git a/README b/README
index 821de7f..b815aff 100644
--- a/README
+++ b/README
@@ -15,7 +15,7 @@ the section "vmod_variable vs. vmod_var".
* Overview
-This module provides extended variable support for VCL scripts.
+This module provides enhanced variable support for VCL scripts.
It compiles for Varnish versions 3 and 4.
There are two kinds of variables: session-specific, which have the
diff --git a/src/vmod-variable.3 b/src/vmod-variable.3
index 6e4f8b6..5d5467d 100644
--- a/src/vmod-variable.3
+++ b/src/vmod-variable.3
@@ -21,7 +21,7 @@ vmod-variable \- variable support for Varnish Cache
\fBimport variable\fR [\fIPATH\fR]\fB;\fR
-This module provides extended variable support for \fBVCL\fR scripts.
+This module provides enhanced variable support for \fBVCL\fR scripts.
There are two kind of variables: \fIsession-specific\fR and \fIglobal\fR.
Session-specific variables have a lifespan of one HTTP session and cease to
@@ -43,8 +43,36 @@ sets the variables defined in it.
The \fIglobal\fR variables are shared between all threads and sessions. They
can hold only string values.
+This module doesn't share any code with \fBvmod_var\fR. Compared with
+the latter, it provides the following new features:
+.PP step 1 1
+.IP \n[step].
+Both Varsnish 3 and 4 are supported;
+.IP \n+[step].
+Variables are stored in hash tables with open addressing, to
+speed up accesses (\fBvmod_var\fR keeps them in singly-linked lists).
+.IP \n+[step].
+Functions for testing existence and types of variables, and for
+unsetting a variable:
+.BR defined() ,
+.BR type_of() ", and"
+.BR unset() .
+.IP \n+[step].
+The \fBregset()\fR and \fBqueryset()\fR functions.
+.IP \n+[step].
+Additional functions for global variables:
+.BR global_clear() ,
+.BR global_defined() ", and"
+.BR global_unset() .
+To facilitate transition, \fBvmod_variable\fR uses the same naming
+scheme as \fBvmod_var\fR, so switching to using it in your VCL script
+is as simple as replacing \fBs/var\\./variable./\fR.
The function below operate on session-local variables.
\fBVOID set(STRING \fIname\fB, STRING \fIvalue\fB)\fR
Assigns \fIvalue\fR to the string variable \fIname\fR.
@@ -147,6 +175,7 @@ Unsets the variable \fIname\fR.
The functions below operate on global variables. Global variables can
be hold only string values.
\fBVOID global_set(STRING \fIname\fB, STRING \fIvalue\fB)\fR
Assigns \fIvalue\fR to the global variable \fIname\fR.

Return to:

Send suggestions and report system problems to the System administrator.