Open nigoroll opened 2 months ago
bugwash: phk is for not adding -a
processing for VEXTs. He suggests a varnish.cf
file which would allow for per-extension acceptors (which I appreciate!) and we would probably also need some -Eext.so,-a=...,-a=...
or similar.
I still think that using -E to load extensions and then use a consistent -a
and -s
across all implementations is cleaner and would still prefer that.
I've settled on suggesting
[name=][%<kind>,][listen_address[,PROTO|,option=value,...]]
now. Reasons:
%
is never the first character of a valid hostname for _listenaddress%
is highly unlikely as the first character of a unix domain socket%uds,%path
can be usedI did look at other alternatives, such as:
[name=][kind=<kind>,][listen_address[,PROTO|,option=value,...]]
is ambiguous again[name=][listen_address[,PROTO|,option=value,...]][,kind=<kind>]
is bad because the option part should belong to the implementationThe implementation has been added to #4172 because plugging an acceptor is the basis for the test of this option.
Working on a continuation of #3976 the question arose which command line syntax we want for pluggable acceptors. I see two basic options:
-a
here, kind would be the acceptor kind, so a valid use case would be
-a foo=tcp,127.0.0.1:4444
-A
, where kind is mandatoryI like to avoid adding new options, but the first option comes with some ambiguity:
could mean
or
and, because of backwards compatibility, the error message might be confusing:
This can be tried out here: https://github.com/nigoroll/varnish-cache/commit/fe32476e7f8a1b4bf1ac2012670185cb210ad163