[master] c17b66493 document vmod $ABI
Nils Goroll
nils.goroll at uplex.de
Wed Sep 12 09:10:09 UTC 2018
commit c17b6649378f5af495c29ad9ca84c69681e9b21a
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Wed Sep 12 10:50:06 2018 +0200
document vmod $ABI
Text mostly taken from ecdebdc792942165ba71b58ff6816decb2d89bef
diff --git a/doc/sphinx/reference/vmod.rst b/doc/sphinx/reference/vmod.rst
index df6f5c7d9..209c68188 100644
--- a/doc/sphinx/reference/vmod.rst
+++ b/doc/sphinx/reference/vmod.rst
@@ -51,6 +51,7 @@ data structures that do all the hard work.
The std VMODs vmod.vcc file looks somewhat like this::
$Module std 3
+ $ABI strict
$Event event_function
$Function STRING toupper(STRING_LIST)
$Function STRING tolower(STRING_LIST)
@@ -59,7 +60,17 @@ The std VMODs vmod.vcc file looks somewhat like this::
The first line gives the name of the module and the manual section where
the documentation will reside.
-The second line specifies an optional "Event" function, which will be
+The ``$ABI`` line is optional (possible values ``strict`` (default)
+and ``vrt``) and allows to specify that a vmod is integrating with the
+blessed ``vrt`` interface provided by ``varnishd`` or go deeper in the
+stack. As a general rule of thumb you are considered "on your own" if
+your VMOD uses more than the VRT (Varnish RunTime), in which case it
+needs to be built for the exact Varnish version.
+
+``$ABI vrt`` means that a module complies to the VRT and only needs to
+be rebuilt when breaking changes are introduced to the VRT API.
+
+The third line specifies an optional "Event" function, which will be
called whenever a VCL program which imports this VMOD is loaded or
transitions to any of the warm, active, cold or discarded states.
More on this below.
More information about the varnish-commit
mailing list