<div dir="ltr">> <span style="font-size:12.8px"> A user doesn't have a means to add </span><span style="font-size:12.8px">VFPs or VDPs via VCL</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Well, I guess I meant like this:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">    beresp.do_esi = true</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">In effect, the above statement adds the ESI VDP to the beresp. ESI would not be part of the "builtin" VDPs in this new scheme, rather, its just a plain old user VDP. Builtins, as I have defined it, are VDPs which are always available to be used transparent to the user. So in your case, switching out ESI would be done like this:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">    import my_parallel_esi;</span></div><div><span style="font-size:12.8px"><br></span></div><div><div style="font-size:12.8px">    sub vcl_backend_response</div><div style="font-size:12.8px">    {</div><div style="font-size:12.8px">        add_vfp(my_parallel_esi.<wbr>init());</div><div style="font-size:12.8px">        // Do not use beresp.do_esi</div><div style="font-size:12.8px">    }</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Because no other ESI VDP was added, my_parallel_esi will be the only one to run. </div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">> </span><span style="font-size:12.8px">Are we considering ways for a VFP/VDP defined in a VMOD to replace one </span><span style="font-size:12.8px">of the builtins?</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I see no reason why not.</span></div><div class="gmail_extra"><br clear="all"><div><div class="gmail-m_2338690032210672534gmail_signature"><div dir="ltr">--<br>Reza Naghibi<br>Varnish Software</div></div></div>
<br><div class="gmail_quote">On Tue, Dec 19, 2017 at 7:29 AM, Geoff Simmons <span dir="ltr"><<a href="mailto:geoff@uplex.de" target="_blank">geoff@uplex.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>On 12/10/2017 06:36 PM, Reza Naghibi wrote:<br>
> Basically, the user adds VFP<br>
> processors via VCL as usual with an optional position.<br>
<br>
</span>What did you mean here by "as usual"? A user doesn't have a means to add<br>
VFPs or VDPs via VCL -- I thought that this discussion is about how that<br>
would work.<br>
<br>
>    - Varnish has access to builtin VFPs. These VFPs are always available<br>
<span>>    and are used to fill in any gaps when it cannot find a way to match and<br>
>    output and input when constructing the chain.<br>
<br>
</span>Are we considering ways for a VFP/VDP defined in a VMOD to replace one<br>
of the builtins?<br>
<br>
... assuming that the same thoughts apply to VDPs, and that esi and<br>
gzip/gunzip are among the builtin VDPs ...<br>
<br>
As we've talked about before, I'd like to take a shot at a VDP for<br>
parallel ESIs. It seems to me that the pesi VDP wouldn't be worked into<br>
the chain, but would rather substitute the builtin esi VDP in the chain.<br>
<br>
So it would be something along the lines of:<br>
<br>
sub vcl_deliver {<br>
        replace_vdp(esi, pesi.vdp());<br>
        # ...<br>
}<br>
<br>
<br>
Best,<br>
Geoff<br>
<span class="gmail-m_2338690032210672534HOEnZb"><font color="#888888">--<br>
** * * UPLEX - Nils Goroll Systemoptimierung<br>
<br>
Scheffelstraße 32<br>
22301 Hamburg<br>
<br>
Tel <a href="tel:%2B49%2040%202880%205731" value="+494028805731" target="_blank">+49 40 2880 5731</a><br>
Mob <a href="tel:%2B49%20176%20636%2090917" value="+4917663690917" target="_blank">+49 176 636 90917</a><br>
Fax <a href="tel:%2B49%2040%2042949753" value="+494042949753" target="_blank">+49 40 42949753</a><br>
<br>
<a href="http://uplex.de" rel="noreferrer" target="_blank">http://uplex.de</a><br>
<br>
</font></span><br>______________________________<wbr>_________________<br>
varnish-dev mailing list<br>
<a href="mailto:varnish-dev@varnish-cache.org" target="_blank">varnish-dev@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev" rel="noreferrer" target="_blank">https://www.varnish-cache.org/<wbr>lists/mailman/listinfo/varnish<wbr>-dev</a><br></blockquote></div><br></div></div>