Mailing List Archive

Slight change to flow
I have thought about and refined the flow diagram.

The main change is that instead of one "vcl_lookup" function there
are now a "vcl_hit" and a "vcl_miss" function depending
on the outcome of the lookup.

The reasons for this change is to avoid having to handle some really
silly corner cases like having a hit and then ordering a fetch
instead of a pass etc.

Since we have the "lookup" recursion possibility, anything that
could be done before can be done afterwards too, but without the
risk of an object pileup on any given URL.

Minor changes to the graphs include bold lines for the normal flow,
annotation of which variables can be accessed in the VCL code.

On the "complete implementation graph" I have added the "recursive"
path where VCL code sends us back to lookup (dotted lines) and put
the "busy object" path in a subgraph/box of its own.


Dot(1) isn't very good for making this look simple, manual
placement will make it much more readable.

As always: comments and suggestions are most welcome.

Poul-Henning

begin 664 _.pdf
M)5!$1BTQ+C(*)<?LCZ(*-2`P(&]B:@H\/"],96YG=&@@-B`P(%(O1FEL=&5R
M("]&;&%T941E8V]D93X^"G-T<F5A;0IXG)U:37,<MQ&][Z\8ZQ+9%8_0^$92
M.3BQ8Z?*J<0*4SG$KA2U7)JTEZ3$#^5@^[_GO1X`,T-15G:M8NVB%XT!&J^[
M7_?XS6!&&0S_U<_MU>;-)EDS\.]J$YQ,7_?3URB&WRFI7R\V_QJN-WZ,H0S_
MW<CP5_Q=XH__7GZY249&%]W0/GUT,AH_!"]Y]#+<[C;_V.@&.-M'F\<RA)+,
M&`N>[[UU$$03RF@%C_-&()"%Q&63*6E*\YR0LQTE43(M,PLN^E-OO\>!9?I>
M/[97PQ]/-B]>IB&.P=HXG)QO)NO(X`I6R!%/\V-R93BYVCQ_N=ON+M_NAJ].
M3OZ.`[UYV-W=?WSRP^:+D\TW&R?<%@Y>)(TI#-84K!J&A*TD"9,!WK>#_-0.
MK!F=A04C=F*3[N#%B^%OKW[XW?`3GCY^\MMAN[_<7=_SVZO3[8^[Z[/QDU^X
MHS3ZX&&CDZ\WS\\?KK?#V^W^/[>[[=OAIX]_LWD^#,/E^?#M<ZZ"O^&C/PS/
MOOSBY-GP\\_#4O;5%Y]]_NS;C[L2_GM]>G?W^SK\Y?%:%_?WK__]V</]!39U
MN3V]WWW75M1?_G1S\^/E[KL/+[C'Q(?7*J5([>NM3->?4QJ#$#-=XLT(0_5Q
M*GETLAC[-)HX;'$!P`>T?9<M5DG&C%Y!9(T?B^MS]IOS(_6(/N^#C`"2#T7&
M:!7K51*Q9L&^'>8'CE,8?>[[;N,M@%YPPM`EKN0PEGF%/J[/V&YFB0]JB[9"
M,$!GFI]1QWA&VT6;T?==5WATCNVOP/DIA_(P#G8!_3AFYQ3.7^L]#_]\^75W
MHX)G9028OL'J3K/!?<9&\^(("8`H"[,E:T>35]?=9(M5U)1E<6UMCEYW#7/'
MZ5\<:AH+BV8^)8VNFF9R at 3FZQ%A&\0-"DL"WL9$N*<Z-87`A1NY""JZG#,[#
M)W)H0P#"B>>UMM^M6-YVTV[#NCSF-TG*A?&[ZR=@H:_.`>:V9^MO;5]-\='.
M#\6-L\P?W!IO8C+.7^[N'J8P3`,5&LT.G_:@=[9YOKN]O;GMUO.!R2 at NP11R
M5/_($D9+3[)>8T at R;O1^'G>T/Y:TL8U9J/&VS[#(2V,FTI&ZC`S6)CVYATU'
M_"S83%27$Q>8(ZV10M=R&4DG95R*+V-)@TN";?/.D/DPCZ;KLHS$A$\%@F=0
M@"2/R3)3)A-I>BE$I%5$'Z=W,)*9JW!4ES+`8_6RUE=A#0*3R0L@=\D$12D`
MD^0&5,FP3;`SD"4F2V.UWT-PO,BFW88=;5U2\=CU"=:^^@3D_FP.^[ZJXN.=
M'PID at 6V<D160OSJ]/MOOEEP".3_ at 0OP:SJ=WFB?O+VYO'KZ_>"=8.HF!@`F2
M'3@#C8HCC!'9R03+8)D1Q!,QF2WHE)O''=^/)6T\X[M+7$G$>0'<2['`-PSC
M840)FHUF@(.V%)K,<A?(D4(R.$<E"1Z!EB%L2C&T*&0X%42D?62&0D\-=`*L
MZCQ`*0%NX^Q",@?LH]0/13EQ8(U;H9S7,X,\P+6`N18))"%W)O!2!H1L#^>"
M%HH)I[`Y@]=^B`O>O/KA/930K1GAQ>7]FA!^1-7MZ?;B]-5^]V&>=K;;@P_?
MKHG:G,%K[E1",5$F;!]FP"\`)3*VA\]:B]R282X&2&.98YR`(T1ZF+<@U0C^
MCF2:Y*%F7V>0@/`4)`8WV%+@^F5*^`+OQN7:`N1%98EB`5O.BH8T`0E;@!&$
M-V?PN"+KA'^4_L%A$N=V>1TFSV\>KL\Z at B2"Y`B9G3.C@<<@43$=.V#7 at W8<
MC"")2*.(8O3`:,OAU<0CZ%Q=WMUU>)SO[K<7[T&!P5T'$D_<F".#0AWGE8IZ
MF#B33""[,;$ZF!ZW[DQ`D$""9?#P:<IZ)CI^]Q:!3MF/`3U!'*L"Y"X3/)'B
M+<#@P^I2C]$^]$H1M5&5X!DN at HYXM>_US?VPOM9&G%I at N)HE-8CV,=*H6J.-
MC7>C3%G'(4:3>S;9O`H":R1,<"*<C3[6YB@'.$KO8$L at J%OP"9P`2X8G.$##
MALT13'YA#!N]7KVUJ%:8-UB%!WS"'1C.^Z=A"<"$`9::Z(O6(*])[DG:&A.6
MQY"",KS&B*:-;)\G'\=L82!J:6,/"5PT^X5A9C@=IW^H&2U,$5#G+LVX3C(9
MF0UNB6PK4Q.E2Q"SE%=J902JXX%JQU3N%>5M#/,%@5>F>0:OHLP+U&%]`N97
M at 15-G5U=8/VR>$`=0Z%MH<UH6VPK/#K$H:3*PF\C=P"WLV5RN\^GK$1#?>H`
M!H"FLBFG9.KL9OMPA4"G$Q`'(DJ,U83SVYLK)M'=]OY=JH4-,*LM/%@`!Q[.%
MLE7D>_RR#+G(:K8 at ZZ$Z6H`V at _X8<MML^(E`EYA(H."5:2:G*S:FHJ`EA2!K
M"9:I%"4%4JDP+V1FI_TL":Y,>6J!V,.5#_9Z8P!77"08*"RN%W$V7\2$6`NX
MP"E=@.V\TM0FB9`@\ZO[(G:XB&5DYFAM#$J94J15^XS(MD1?H`WK$U at N3`)>
M%\N?INY`_-/B`76\W?0M5$G?8EWA\2$.+@,R`Q/U67A.5.[/S)\*1WI!!B26
M<-1VX\7N]&QW>S>5",6 at 3)5W,5O3]KN!UH*9^]C9!`V/4H_4*T<E6(@RAO[I
M:!_7PVBK"*>P60J+:!>!UBGJ855QO<)GU$.E*\+"-4S`6D;-(]0/#IK6 at -W$
M-;%JQJUM6@`UA84I7$"D-7PJSLS"WL`K6,,&JS,\4WN$+0SX26*(\O1+0B,E
MKQILD3%<!CQ6&WJ31DMCV]XU at M6CKMUH7='XM:STR0P?5?I3_;FJV+6&7U;L
M at H@1'U7ZA^@=WK/"$<'4V>ET3^3XEOAF.Z-NCGJ[&;O)K+D12>EZ"5&0*2*:
MPE(5GIW8!8'O.D0C!&_GH<$DSKH!_`5B6),%IT2]N7XSN%P0!%P,'+/@6BW+
MU5"4IK?9\ZT(,#D*:<5$(L3A%VH8-H66Y:FV8Z;RM+4;0"F+'HOULG7K`E.#
MZ+(^/4[OT$L1A"P&AN6UK#B#L`D1NPF0=96E'/V.0K1](BS!1A<^5%5H7?K^
M]Q/JJ$_4HV]/]Y=GZV)4L?;D:XA>P>[^OQ+V\OIN=WO_=.W2^FXM%1##4Z_,
ML2`G(JN/83Z(7^H9W=$PU8^;US495V'OV'7<[F??J'-6+8VC]"^4,[`K,S?:
M=%@B\Z&-UE&A\6/K$?>]7Y09\+5"-^PS:MYK"[1A[X9U28H:Q=L"$E/1%V+U
M$6T,C;J)/D,WV-27FS^8%CI6SQK?QOKJK+Z\JZ3/(53+^UEAP(ES*`=DV-KA
M:IZE;<U".FBM\WP7V;IB5I`DK'YJAV[NEB%Y:8W?,F77K$FC]9%;;:%)V0)P
M*79RB><ZA$!JUYIDW[,_:B3/9N<J*Q^E?W!:%KY:*JM:9G*\F1NRP<&+,TI$
ML0]?@O*MMI^`8&U"I]DV`#S&+<*Y3:"$)-JM2JSE936T$VQ?N^V-ASL!NK33
M.Q6/#I;5!GXM'AU(_M1[GHM'R)"E7"_LD%TM?O5A4?PY"WZ at +>JI0-2L?)3>
MP8;6WFWXE=J[=;QGH,Z2"7Y]+'Q9,@\7#0B0_*RLL3<2%FWZ6N]*AA&#7S4@
MCM,[.`O"KDYQ\)[*N3MM<(P$/?X`=,A*6BA%N!@W&D"/<6FUB0Q'`+)R+Y/4
M`P/HH at V=+5S-DEI4[S=]F:F>6SG@,>H:W$O1:1EUA)BI_+?"_U6BP'!QZD)X
M>(#8I:1>>].:YR0$&1R3DKK.+#D8AC`/W'5 at B9;%U?BK[SB&[<W5Z_WN?K=H
MBH&?T at WAIR#@DVNP6YEH=]%V;R7M at KRK,;2`?3KM*L`B3DOJVD<PN"'V?S+6
MXIL<8RW=#K$ATX4+N:9I)?54=O.E3[%:CM8ZN5%'%L83Q2]\?2Y%K^XX/=IP
M02R4YL\G;B&GG=@2Q*2X[<1 at 5[6/TD[<WBVT$Z,JT?>L[<0>601%U.K$`7P/
MT;7MBF!#IC2RW+G'CZ3/]71KL!ZCOSSYHD.DY[B:)09H\7,+R;C(*-W&!5$_
MI]K`BV"QN8OF-1:[B"@[L,,V9W6*8]1YB&_P[W\[`*P)96YD<W1R96%M"F5N
M9&]B:@HV(#`@;V)J"C,P,C4*96YD;V)J"C$Q(#`@;V)J"CP\+TQE;F=T:"`Q
M,B`P(%(O1FEL=&5R("]&;&%T941E8V]D93X^"G-T<F5A;0IXG*U;VY(DMW%]
M[Z\H\L5+A5W$_6(''VA2$A5!A2UJ'7X@&8YA3P]GJ+F0<UF&0M*_^YP$$E75
MNS39;>[$1C>R`120R,O)1-8/DYGM9/C7/_=WNQ]VV9F)_^]VT=OV];9]C;7R
M.RG]Z_7NOZ?[G9]S+-./.SO]$?_Y]\7O=]G8V5D[Z6=(KLXE3IQI-G%Z/.S^
MO).'2^]J9U_+9$/*<PF3<]7-ODPAQ#2#+KT#_LT6Q!SQH\<*@\ME+FX*Q6$1
M'BOR-939;BBYN#GG,6K5)Q4S5U+&/(-R/5;W^"V88MOW_K&_F_[]]>[#+_(4
M9Y<PT^NK7>. at G7S)6'C"X_SL8YA>W^U>?7'8'V[>'*;/7K_^3VSEAY?#T_,'
MK[_;_?;U[D\[[[#EZC#08>MIL at F\L%/RX$@(;><_M8#RK at 6`S\'Y*?@Z1^]D
M`1]^./W'-]_]Z_0W/'S^S3]/^]N;P_TSOWUSL?_+X?YR_LT_N*`T&^M*G5Y_
MOGMU]7*_G][L;__G\;!_,_WM at W_:O9JFZ>9J^NH59\'_Z;V/IO=__]O7[T]_
M__NTIGWVVX\_??^K#\8 at _/O^XNGIWWKS'\=S73\_?__EQR_/UUC4S?[B^?"U
MSBB_?/+P\)>;P]<_/^$M.KY\+U22A+W!6C\'''_*>;:90C,HKLQ at T&C'%.;@
MEW:H:<YUVE/TP)8Y#M)JDA`KY)LR9(V;W>ARN[LZ:Q0%+W at HC<^3]S91=.]6
ME`@5P!J=S;,+:!>LV8XU:WN_"\;4>2'XZN(<EPF6=GO$?C<H+E.`)IW`A2I/
MU"?T-IZ@:]`>ND:=X&@7^_]#D-^I29731Q'H#!M`0?Y<3GCZKR\^'_J3YV at 3
MK,]88->CA=L^E3B;M&PAPC:$53LXMSYE::^&"PO=<ECR.\]7#=]IXZY/Y`/F
MH]7S&1\^"1N:H"\F)&"#!=8SF<3/NQ4%,ETK'FVPIC#9;-T,:^QY-GEIX_B=
M$;L\>EB<;EHFT&9[`OIW0H0MS3ST/CQBXI26!_0V!N at 2M(<N46<XVL3)XH+U
M1(\5)#L7V_CTAZ>GEV9VR2O\[DITT[^(F8O3Z\O=J\/CX\/CPLB$H^/:A at SY
MD&#'(>0)#DGTQ4-+T"-:2*5=VHL>'5&T[7!X<T[3F]$#+,,VH(L>XD/>E5CF
MM"B,S1$<B\*)T:?3L#*/M1K'`P/?,OV:QWQ+%Y'0<X:=*J#8SYQ-GAQ8E<`C
M<G[+U^`JI*.N!'2A-/D*ML(NU2%^P60LKZX%M$8<X$*!DX4<+3,L[2&B2E$)
MTQFZ!(YG#!D=J]`>NLH^P_$^3C=I4`I?-C+ZV<7]Y>UA#0O,#!\<HM\(ZL63
MN+SGZ\>'EV^OW[9^*54P?VW]^"W4(;FAPN?@X(?UT_:0W&.*MA?)'10#=`)P
MHVU;2Z)NAP+TD]B&S7+D3\C!K at 4P1!-F#P8`<#D<.YS%G,B08*A.8H4'C4C&
MJ[``5R8(FJ631!=/S&13M(2'&V-\SO"3;7*EK7(;D>?Q+):D0D)RF5R!<B7Z
M?A_A%@EM4XQTB[=+GX@^)@H.]8):ESXGZR)@9X"7<"E!@!O\_/'Z!@+VU:N'
M;[Z;OWEY^NM7'W"9T")H4NU"1M`'*?OQXN;Y;=DRX!\1:G?TX*A)AE+F;<A-
MDV#]N>X*?L#">LJ%K]B]@PML>@)W;FC=0$-?.DK%X0#?B7JX('/T*;2,ZW,]
M;_S)_*L%@@S^%7PF*_R[>GBYOQQ<<16.V(0I9O at SV*&[A5*:57`%,H]=QU(M
M#J)8+EL:^YV+SI)S[3?/*,<N`[7=IT9WI2#@8O`RAD=8;[>:O;<Q0A^N/71Q
M.L/1\D\U82(#&7$<X'2(C4&?/!X`VJ?[PX\39.RP%Q$BEC:F;.5+1?"CY\>7
M`WOA5Y<3G.%;W?87^^O#Q3>WAX^N+FZ?I#-68V(YZON'^Z?#X_-T]?#X;ECH
M(*J&3I8V5[!T!]^`8Y%F+113"'1C=A(.5$#Q!0+L=]%`<6',(%P0P"F:Q._H
M5'-K!!L\K2&[HAFIQ+YWU,9?^V\!<QC"B02CC'--4'TH"CE%PQD3]->$IC"#
MAI5+%##.+F7("^5]=`'4]':K+^<,/U5=(BT8)'D=[=X_\#36*N.Y:T0WZA9L
M(`:Q=`9SA9*='N,&/!9^V#&GT#'Q3\>XE*9?%NI>WSQO(]WW5!(IB#\?@%X>
M;A'G/VXC4)5$3^-H(W28H;U at L0KMK8$Z9>A&848#7;8+T&%+LPH9Q('!"B0&
M,.(=C2\\*T<X'05*F>!FPB\/F4(\!C=BK$AVLQY;[.WC.<$K%ESR79*:O<0"7
MBZ/J@^AD"9$2)\X$S(&N,7,O,='K!@?A\\/7[.=4KHUL2>*)-6/DP>G?ON5^F
MIX4/@A>=*(ZU at L@"(!H@%7P41"S&'L[Y2O^*V"1K_*V4YLD8FL%1&E*`YTT6
M7GVIFSQK_,E0@@A=',4")8[C.V8FRE`?8 at D?)+HJ<%,X!A^->&A;DC#;!W"Q
M,**`94I!HB^?:09M@>HQCH$+A^X!EP$#$SW[8NC)+>!I2R`PY@!<K9XTS"ZQ
M`P(4^`R;83=\E- at AB:.W.<26.+LZ;]C)?AK``\*'&0#R<#9OQQRKO`"[KKB'
M<%QB-XVW>GB.J8J`6H,@@``RXY"3YG\@B#4.VMT`11J.4&V*)^NTSS9#<,[X
MTS,%INUCL&2+20L>5<`)!S.318X&!;$W,)7/<(E07HOPMD6]X!V7U-N0HPC>
M0?]&#^8TQO#6:+-3YMBTP-J`O6,@//@,^IBZM]%='ZX]='$ZP]'R3PZ^$(&4
MR/$X7ML2HY\V at RU(Q`$V19B.#;JX?-B_W,&/2`\`"!?S$:2Y>GRX6\&>K<DO
MB/3]1G.I;TYB?42MQ.NV2-8C(W)RDJNBX=/H'%Q)WC%P0LA8Z!,T16$#0U4>
M$?C*\X`]3!UI)^R0"MAI>*IV0EA!4?.QBN/7'AO<<,;HD[47ZA\D,L?F31/5
MR^4HA(?@D*6[A-P46E9KJW at .!],6\QF)<1A+Q`9`.S!+(?\<:/@%:.'NYNEI
M((*KP_/^^MV.WT6<+=0C1N=:Y.*(-;'_R+0OE,#%*'%4I-VV;`/@>(&+D%D)
M&V"6(0\1H>L<Z48A6. at 8`[->#`LDLQ&!&!C;4PK&$(8T6>*4"`4"U(X0,GJ%
M6U(2,2_&U>,X^KSQE`1GL#@&]^.>9E`*8`.DW%;X+X*$@KF9 at 8$0M'N<UM[O
M+'.V,J+WB*6/Z#-HNS\#(Y22"!V8H^DS$&(SFZ;/Z&V,T%5TREAEG^%X'Z<:
M'(1)``F\>8*S2\VS_XYB(L:$.7)$Z5MC(C=$"'LN#X]/+164/3-`ZTR0&)PN
MGF]9'$?C&.S0&O">"`7[CLQV1<GF>#2P)<0OCJX/"#0:*@6M,"*L(("J0KF9
MKC#&RI5%A<=%W`<M%-$,3%YTH&!KRDP^Z6'=D;6&CP^E&+$9EKB-UV+5YF.+
M<];P4TT.<2%`)&:`%>@PZTH/HP7V`3P)2_+E;J%D9O09G_O&M8R8$NKF8*-H
M"+5-[D%I7!H4&'ZL>TR at S?X$BF`C1-YU,"/<AT=$1C#NXP&]S81`7X+VT"7J
M#$>;.%EF*TV5W^2/?B(:QY80(1SYRY=[AO<+3P6G;<31P1@",$?&.DS5.'AW
M:CYB4A]&<ZC<$:$W-47Y1G_OUQ&.,#S`*R+8IK2J.N"A7N=3"AC(Y-MHMU25
MXT4&A!&AAZ!8,:44GNH&C4I5)>6$<PX-TN*H*O5"^U#`SQMWLF3#JR3L-<`Z
MAQS>@?L,D$^V*\$>%!5L6D(7%\'N&;658"=>)X>E1W2&QSAFT/:0NT%1R=09
M5'+U&8MLZRHZ9:RRSW"\CY-35W"R`!6_EFQO(V+$[(66:27I at P*)8DJVMT.!
M;`+'CO8BZT<4;:^D72E=W)GN9;Z5,7R at -8`EE>SE$/=0O?BVGA%5X.!R;6(>
MH7<AKD[ZSP.O@%9ZAC,QLJ#A at WTRS?,W!.,8K'BWB9O/&W^RV"-T-+RE6(G]
M<=S<!68!(H-2L"`RK(L<D']FVD"%4MN+X(\>7:S'#-I>3E$I"0C=N2'X(<$6
M"NO[,WI[$7REC%7V&8[W<:[@!]K8GM3^_QCUOL&5J$?('Q.)!N"`:2'%MP8&
M,(EW(J(`N'7-F+A^?12,"&4*'7.`IY87B=10N4[R+0<+H63]!C.-A:5"180*
M"*7*V7E)9\(NU%;[@Z?'%H"?->QD44QR][V&%MM<A-[T:J;X;J&XYG9L26+C
MEAM&V#RSW#@2W[HF-MK#(YZ!<QDS:'MDHP?%)-?N/=L,+7E=QC.TC1%]%4H9
MJ^PS'._C9'01>.&*@P7J`;O;Y<'%[?[EEO<'ZUQKET4;PI$L7MQ?2L?GYUN!
MT<QB+M<,#2%_?WB<OOC=)WAZ>@L@(]#VS+PKZ`?8I)D"`P,O1LV2E`J,K4K6
M/);>*PK at S9!W"*I>)'(2?",L;FE,(-8,))+<&+8!O.<,IU!:@Q/E501!N>1.
M*E'.V;5BEJ`8Y^JAMB7^HCSZ$@[';30L8/H=V?,W%[<WE]O4N2C'.ZO!WMN8
MI5]00B:7/]NPVS(Y6_(*[@Q*]HG);VNA^@31'7-9!GHIKS`?PPR_HA08K$!W
MV6<8[0%%!B5FJ2(;,T13F)@>S^AM*)NN0GOH*OL,Q_LX5=F8Q8R!X^O<H\^/
M;V\?6%\GVH5]Q.2WVO7T_/!X\:W>S$6#_6YCSX?':9T2VZJ6#Q*U=>DDWZ%K
MF4Y6@@!+J![)5*PH,J.#C1+/,2?=*K"L+4X\PD#,U at 9)2#OJK25TL#9)(9%>
M!&\TZZSQI]I[EGM9AF6K2^(FB4OV*F=9R,*+GEUVC)\-LU$(Y(@*Z?.J':G[
M!;K9:CIT at WI7QI(M!G:<R3*)`FA7TX at EQ$MV`^URMJT,Q/$.B7$."S&*A-*5
M66+'@HQ^X7'.J)-Y5GAA&C8\VT0IFN];J:U2-'K.WC;,V(/KGO%9L"O<4O-;
MVD.*PMPR@[:7`%PI/<88,_089#QC1"EC%=I#5ZDS'.WC9!_IF<J+OU:48A/O
M^=U*$#'YG%@8P+I*;!#`J##>A8N7`CYM+_&OSK'2JEAX:[6*8T$QO%!<Q[_G
MC3M9LG#6 at 2!S)5E;^'44J9DH->:#(Y(14[T<,7O72\U7K$*J'G2I7NI5*MJ5
MR,(AP).`=UQ>+L&R!ETMW>MX&2#IG2HU&]"NQ,BP!6$X)A<V013O1Q:51)C5
M]3](.>$V!#M]].EY!Z!+HO45WX\",$T6:@79W4)A\3"3LCR\S+D\PT!%1MIF
M(IBW/ZL>3'73:_8)M-F?(#BY40STK[#(JTW0+9@^H3<%\\H2]'==H`X_VL+)
MZIP`,QE@$TS:]>L`_4JI&GM<_K*Y=`IP-8"'[[AT.LX!ZV$O598+I=5((AJ2
M&F^]='0Q,2NZJK)T(<@]U.C!>O'LEQE&6RL@!Z772(X9>@WE>,:HLARKT!ZZ
M2IWA:!^GERCQLFU;93F0Z*@\PB)AP;>!PY'M',"&R9/$Y"BSHV)$2[&,S&UU
M#5'6*`&PI0U@)1?1'J_Q6K"!/5MGA4L=Z`,*2<&C30`L4N+!6TD66$?*2S,!
M+-XEYQ*B,B-*W,LM+`/F0*5%'P8G"V%U at 7/.<!J!L>V^-D^@X63;K,Z02EK3
MBH at 3H!1XI^_8:$&E9S^CSJ/WZ33.$OH5<+O:O-UI^:?VV4"ZL\9O]J&@L-^J
M$9A6*\5Q/5_&,).IB46663/%^J)46LH"^XBL60`I"W at 51]H\)3-169!EQ'"F
MN9AP,4?(])SA<IN6<]W:T$%I)A!K;"G8;B&A<)$O#"PV%"K9Z at NUAV?AU;"A
MHSE,W*!T(Z at 3*`KL3Q at V5)<P4&)?H`X_VL+I"EW@>O/:AGYZ\[2_>+SL%_>V
M>O\KV5#>&O+^Q+`^- at JW$8GSQK[R.F^Y_`$<ES*N!8YKS;-C70E+;9)<Q7A.
MQ2(`#0DLQ#;1%!A#'")7]A8";)>W+^Y`2:G=^S<EO`7%M5*!5*KZ^_/&K97#
MD2HE[[`$8;/A89X;YD<@Y5H4W?*7^JX>\Y>@L(?/F7D[SRL)^DX/`RYO*?6*
M(!PL5]N+BP0=60>N!"GG#0"DT?6X5^H3F<"BG`W*JDSAK/&B4/U."E)<^JU,
M*W1;[M1:^9V+K?!D`+I1N^9H>40O`-;#J,(=`^%U!%MU>\NW98P4X3M(JKQ^
M17?`Z,\DR3V.<JPA1)[<MJN2+EZ^\YR(0UFMRO<,-Q5>_2TG6PPWXS-\51G)
M+,_*?`:1:Z%C3C1OA*>RO-BVNW/A("]@"8[6,G?.L.M5UFQAO%:]J&6&^TP2
M,'3.P\V&%HTIYT?0R_=RF#MHCG8<4;<P_6#D^C`QVZLEE-WAR36J+0O9\560
M=IL]\'Q'_KS)P226QAN:X)K?A&3Q-L`!%L70HNBSQHE$]J+&#L[OAD*IK?%\
MWT)L3TMBC.O-$6*HJ(\*_(Q/>N)>H8]])JDWHK?I4:D6I'H<"&6(16FMCM]S
M>39)17U+1GEHS=P+C,\9)MLL\M;$%!+\7!*5Y24PK_4C-\[5PG(R/\P"WY"6
M]L at W'U.TK='VF]%#X8^G!,0R()J^;[MYNXI>>2'=D1#[^W+ZEE3?[::Z[YQA
MU\+YAI\H[D$2P)XG#4Q3#;2V2HUDR*Q36U.\IWCHH*5+ACLV56Q]GV:AG%Y8
M:1FB%M:,`TFU>$5>39KV#W??WQZ>#ZO";@<C(Z]M\U-*/?MK?QX3A.5--IJ]
M.`U[S!J3T%X*M)*#LWS9U/.E0+KZJ4*\#5UE-X),(+)07,Z*-YIAJI#C(/E[
MM8PTG2FN^4)PGM1OG#-L[2B#"2T@[&Z18D_[[&'S6)=7`:%9D-JW6B#!X.-J
MJW0*Q`W&MH0,01%@.8OR,RN7J?Q,'*_WFL$.G+VNB')BQ7&L5LWK":BC[FSC
M),\:O][UJDQ3]G&WHL"2IJ5&M,(T`>\M;0B\\]W3=*2NM&66U3H8[=DP^FQK
M$L\9SWW\"7__"R>K2FAE;F1S=')E86T*96YD;V)J"C$R(#`@;V)J"C4Q.3D*
M96YD;V)J"C0@,"!O8FH*/#PO5'EP92]086=E+TUE9&EA0F]X(%LP(#`@-C$R
M(#<Y,ET*+U)O=&%T92`P+U!A<F5N="`S(#`@4 at HO4F5S;W5R8V5S/#PO4')O
M8U-E=%LO4$1&("]497AT70HO1F]N="`Y(#`@4 at H^/@HO0V]N=&5N=', at -2`P
M(%(*/CX*96YD;V)J"C$P(#`@;V)J"CP\+U1Y<&4O4&%G92]-961I84)O>"!;
M,"`P(#8Q,B`W.3)="B]2;W1A=&4@,"]087)E;G0@,R`P(%(*+U)E<V]U<F-E
M<SP\+U!R;V-3971;+U!$1B`O5&5X=%T*+T9O;G0@,3,@,"!2"CX^"B]#;VYT
M96YT<R`Q,2`P(%(*/CX*96YD;V)J"C,@,"!O8FH*/#P at +U1Y<&4 at +U!A9V5S
M("]+:61S(%L*-"`P(%(*,3`@,"!2"ET at +T-O=6YT(#(*/CX*96YD;V)J"C$@
M,"!O8FH*/#PO5'EP92`O0V%T86QO9R`O4&%G97,@,R`P(%(*/CX*96YD;V)J
M"CD@,"!O8FH*/#PO4C<*-R`P(%(O4C@*."`P(%(^/@IE;F1O8FH*,3,@,"!O
M8FH*/#PO4C<*-R`P(%(O4C@*."`P(%(^/@IE;F1O8FH*-R`P(&]B:@H\/"]"
M87-E1F]N="]4:6UE<RU2;VUA;B]4>7!E+T9O;G0*+U-U8G1Y<&4O5'EP93$^
M/@IE;F1O8FH*."`P(&]B:@H\/"]"87-E1F]N="]#;W5R:65R+U1Y<&4O1F]N
M=`HO4W5B='EP92]4>7!E,3X^"F5N9&]B:@HR(#`@;V)J"CP\+U!R;V1U8V5R
M*$=03"!':&]S='-C<FEP="`X+C$U*0HO0W)E871I;VY$871E*$0Z,C`P-C`V
M,3<R,3,P-#@I"B]-;V1$871E*$0Z,C`P-C`V,3<R,3,P-#@I/CYE;F1O8FH*
M>')E9 at HP(#$T"C`P,#`P,#`P,#`@-C4U,S4 at 9B`*,#`P,#`P.#<W,R`P,#`P
M,"!N(`HP,#`P,#`Y,#(V(#`P,#`P(&X@"C`P,#`P,#@W,#<@,#`P,#`@;B`*
M,#`P,#`P.#0R,B`P,#`P,"!N(`HP,#`P,#`P,#$U(#`P,#`P(&X@"C`P,#`P
M,#,Q,3`@,#`P,#`@;B`*,#`P,#`P.#@Y."`P,#`P,"!N(`HP,#`P,#`X.38T
M(#`P,#`P(&X@"C`P,#`P,#@X,C$@,#`P,#`@;B`*,#`P,#`P.#4V,R`P,#`P
M,"!N(`HP,#`P,#`S,3,P(#`P,#`P(&X@"C`P,#`P,#@T,#$@,#`P,#`@;B`*
M,#`P,#`P.#@U.2`P,#`P,"!N(`IT<F%I;&5R"CP\("]3:7IE(#$T("]2;V]T
M(#$@,"!2("]);F9O(#(@,"!2"B])1"!;**IGM]-N[\JB=U=[YIFP3Z\I**IG
IM]-N[\JB=U=[YIFP3Z\I70H^/@IS=&%R='AR968*.3$S-0HE)45/1 at H`
`
end

--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
Slight change to flow [ In reply to ]
"Poul-Henning Kamp" <phk at phk.freebsd.dk> writes:
> The main change is that instead of one "vcl_lookup" function there
> are now a "vcl_hit" and a "vcl_miss" function depending
> on the outcome of the lookup.

Makes perfect sense to me. The idea is still to avoid having VCL code
block on anything, right?

DES
--
Dag-Erling Sm?rgrav
Senior Software Developer
Linpro AS - www.linpro.no
Slight change to flow [ In reply to ]
In message <ujrac89e8sl.fsf at cat.linpro.no>, Dag-Erling =?iso-8859-1?Q?Sm=F8rgra
v?= writes:
>"Poul-Henning Kamp" <phk at phk.freebsd.dk> writes:
>> The main change is that instead of one "vcl_lookup" function there
>> are now a "vcl_hit" and a "vcl_miss" function depending
>> on the outcome of the lookup.
>
>Makes perfect sense to me. The idea is still to avoid having VCL code
>block on anything, right?

Yes.

--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.