r1548 - in trunk/varnish-cache: bin/varnishd include lib/libvcl

phk at projects.linpro.no phk at projects.linpro.no
Mon Jun 25 08:14:41 CEST 2007


Author: phk
Date: 2007-06-25 08:14:40 +0200 (Mon, 25 Jun 2007)
New Revision: 1548

Modified:
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c
   trunk/varnish-cache/include/vcl.h
   trunk/varnish-cache/include/vcl_returns.h
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl
Log:
Add vcl_discard{} method, which can return discard or pass actions.

This is for DES' work on LRU list.



Modified: trunk/varnish-cache/bin/varnishd/mgt_vcc.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/mgt_vcc.c	2007-06-24 10:43:15 UTC (rev 1547)
+++ trunk/varnish-cache/bin/varnishd/mgt_vcc.c	2007-06-25 06:14:40 UTC (rev 1548)
@@ -127,6 +127,9 @@
     "    }\n"
     "    insert;\n"
     "}\n"
+    "sub vcl_discard {\n"
+    "    discard;\n"
+    "}\n"
     "sub vcl_timeout {\n"
     "    discard;\n"
     "}\n";

Modified: trunk/varnish-cache/include/vcl.h
===================================================================
--- trunk/varnish-cache/include/vcl.h	2007-06-24 10:43:15 UTC (rev 1547)
+++ trunk/varnish-cache/include/vcl.h	2007-06-25 06:14:40 UTC (rev 1548)
@@ -39,4 +39,5 @@
 	vcl_func_f	*hit_func;
 	vcl_func_f	*fetch_func;
 	vcl_func_f	*timeout_func;
+	vcl_func_f	*discard_func;
 };

Modified: trunk/varnish-cache/include/vcl_returns.h
===================================================================
--- trunk/varnish-cache/include/vcl_returns.h	2007-06-24 10:43:15 UTC (rev 1547)
+++ trunk/varnish-cache/include/vcl_returns.h	2007-06-25 06:14:40 UTC (rev 1548)
@@ -40,5 +40,6 @@
 VCL_MET_MAC(hit,HIT,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_DELIVER))
 VCL_MET_MAC(fetch,FETCH,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_INSERT))
 VCL_MET_MAC(timeout,TIMEOUT,(VCL_RET_FETCH|VCL_RET_DISCARD))
+VCL_MET_MAC(discard,DISCARD,(VCL_RET_DISCARD|VCL_RET_PASS))
 #endif
-#define N_METHODS 8
+#define N_METHODS 9

Modified: trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c	2007-06-24 10:43:15 UTC (rev 1547)
+++ trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c	2007-06-25 06:14:40 UTC (rev 1548)
@@ -350,6 +350,7 @@
 	vsb_cat(sb, "	vcl_func_f	*hit_func;\n");
 	vsb_cat(sb, "	vcl_func_f	*fetch_func;\n");
 	vsb_cat(sb, "	vcl_func_f	*timeout_func;\n");
+	vsb_cat(sb, "	vcl_func_f	*discard_func;\n");
 	vsb_cat(sb, "};\n");
 	vsb_cat(sb, "/*-\n");
 	vsb_cat(sb, " * Copyright (c) 2006 Verdens Gang AS\n");
@@ -470,10 +471,12 @@
 	vsb_cat(sb, "void VRT_l_req_proto(struct sess *, const char *);\n");
 	vsb_cat(sb, "struct backend * VRT_r_req_backend(struct sess *);\n");
 	vsb_cat(sb, "void VRT_l_req_backend(struct sess *, struct backend *);\n");
-	vsb_cat(sb, "double VRT_r_obj_valid(struct sess *);\n");
-	vsb_cat(sb, "void VRT_l_obj_valid(struct sess *, double);\n");
-	vsb_cat(sb, "double VRT_r_obj_cacheable(struct sess *);\n");
-	vsb_cat(sb, "void VRT_l_obj_cacheable(struct sess *, double);\n");
+	vsb_cat(sb, "const char * VRT_r_req_hash(struct sess *);\n");
+	vsb_cat(sb, "void VRT_l_req_hash(struct sess *, const char *);\n");
+	vsb_cat(sb, "unsigned VRT_r_obj_valid(struct sess *);\n");
+	vsb_cat(sb, "void VRT_l_obj_valid(struct sess *, unsigned);\n");
+	vsb_cat(sb, "unsigned VRT_r_obj_cacheable(struct sess *);\n");
+	vsb_cat(sb, "void VRT_l_obj_cacheable(struct sess *, unsigned);\n");
 	vsb_cat(sb, "double VRT_r_obj_ttl(struct sess *);\n");
 	vsb_cat(sb, "void VRT_l_obj_ttl(struct sess *, double);\n");
 	vsb_cat(sb, "const char * VRT_r_req_http_(struct sess *);\n");

Modified: trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl	2007-06-24 10:43:15 UTC (rev 1547)
+++ trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl	2007-06-25 06:14:40 UTC (rev 1548)
@@ -42,6 +42,7 @@
 	{hit		{error pass deliver}}
 	{fetch		{error pass insert}}
 	{timeout	{fetch discard}}
+	{discard	{discard pass}}
 }
 
 # These are the return actions




More information about the varnish-commit mailing list