my 2¢ on the VSL interface: If we really want to go for varargs, having format string compile time checking with v_printflike_() would be a must in order not to lower our standard, yes.
But at least for the built-in tags, I find it more appealing to auto-generate logging functions for each SLT (not macros) with well-defined arguments, by example of void VSLb_ts(struct vsl_log *, const char *event, vtim_real first, vtim_real *pprev, vtim_real now); The generated code may or may not memcpy, but even if, why is this an issue? And for this concept, I don't think the cache line argument holds. Most arguments will be passed in registers. For dynamic Tags, we might have some less efficient generic code which follows some spec and a format string, but we might also compromise a bit and make these not fully dynamic but rather "extensible" and run our spec2c-compiler for VSL functions parallel to vmodtool Nils -- ** * * UPLEX - Nils Goroll Systemoptimierung Scheffelstraße 32 22301 Hamburg tel +49 40 28805731 mob +49 170 2723133 fax +49 40 42949753 xmpp://sl...@jabber.int.uplex.de/ http://uplex.de/
signature.asc
Description: OpenPGP digital signature
_______________________________________________ varnish-dev mailing list varnish-dev@varnish-cache.org https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev