Mailing List Archive

[master] b682b6917 take note of an optimization we might want eventually
commit b682b6917506f2590a01a0760babc71ae78a7aae
Author: Nils Goroll <nils.goroll@uplex.de>
Date: Thu Jan 21 12:27:51 2021 +0100

take note of an optimization we might want eventually

... which is not important enough for me to tackle it right now, in
particular because I really do not understand enough about how this code
works yet, e.g. which of the if() blocks can possibly happen in which
order. *cough* fsm? *cough*

diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index bf75ef217..87cb9d03d 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -627,6 +627,16 @@ ved_gzgz_init(struct vdp_ctx *vdc, void **priv, struct objcore *oc)
return (0);
}

+/*
+ * XXX: for act == VDP_END || act == VDP_FLUSH, we send a flush more often than
+ * we need. The VDP_END case would trip our "at most one VDP_END call" assertion
+ * in VDP_bytes(), but ved_bytes() covers it.
+ *
+ * To avoid unnecessary chunks downstream, it would be nice to re-structure the
+ * code to intendify the last block, send VDP_END/VDP_FLUSH for that one and
+ * VDP_NULL for anything before it.
+ */
+
static int v_matchproto_(vdp_bytes_f)
ved_gzgz_bytes(struct vdp_ctx *vdx, enum vdp_action act, void **priv,
const void *ptr, ssize_t len)
_______________________________________________
varnish-commit mailing list
varnish-commit@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit