Skip to content

Commit c339b5e

Browse files
committed
update cache-retrieve to new cosmogol format
1 parent 45aeac5 commit c339b5e

File tree

2 files changed

+428
-11
lines changed

2 files changed

+428
-11
lines changed

httpdd-cache-retrieve.fsm.cosmogol

+26-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Title = "HTTP Decision Diagram - Cache Retrieve";
2-
Version = "v1.0.201402";
2+
Version = "v1.0.201410";
33
Description = "An activity diagram to describe the resolution of cache retrieval, given various methods and headers, implemented via semantical callbacks.";
44
Initial = start;
55
Final = finish;
@@ -10,22 +10,22 @@ last:anything -> finish;
1010

1111

1212
block_cache_retrieve:anything -> storage_has_uri_match;
13-
storage_has_uri_match:false -> 0_PASS;
13+
storage_has_uri_match:false -C2,C7-> 0_PASS;
1414
storage_has_uri_match:true -> is_method_cacheable;
15-
is_method_cacheable:false -> 0_PASS;
15+
is_method_cacheable:false -C3,C7-> 0_PASS;
1616
is_method_cacheable:true -> storage_has_headers_match;
17-
storage_has_headers_match:false -> 0_PASS;
17+
storage_has_headers_match:false -C4,C7-> 0_PASS;
1818
storage_has_headers_match:true -> cache_control_has_no_cache_directive;
19-
cache_control_has_no_cache_directive:true -> 1_REVALIDATE;
19+
cache_control_has_no_cache_directive:true -A5,A6-> 1_REVALIDATE;
2020
cache_control_has_no_cache_directive:false -> storage_has_no_cache_directive;
21-
storage_has_no_cache_directive:true -> 1_REVALIDATE;
21+
storage_has_no_cache_directive:true -A6-> 1_REVALIDATE;
2222
storage_has_no_cache_directive:false -> storage_is_fresh;
23-
storage_is_fresh:false -> 0_PASS;
24-
storage_is_fresh:true -> 2_RETRIEVE;
23+
storage_is_fresh:false -C7-> 0_PASS;
24+
storage_is_fresh:true -B8-> 2_RETRIEVE;
2525

2626

2727
0_PASS:anything -> last;
28-
1_REVALIDATE:anything -> storage_is_fresh;
28+
1_REVALIDATE:anything -A6,A7-> storage_is_fresh;
2929
2_RETRIEVE:anything -> last;
3030

3131

@@ -40,20 +40,35 @@ false
4040
2_RETRIEVE,
4141
block_cache_retrieve,
4242
cache_control_has_no_cache_directive,
43+
finish:B10,
4344
is_method_cacheable,
4445
last,
45-
start,
46+
start:B1,
4647
storage_has_headers_match,
4748
storage_has_no_cache_directive,
4849
storage_has_uri_match,
4950
storage_is_fresh
5051
: state;
5152

5253

54+
cache_control_has_no_cache_directive:B5,
55+
is_method_cacheable:B3,
56+
last:B9,
57+
storage_has_headers_match:B4,
58+
storage_has_no_cache_directive:B6,
59+
storage_has_uri_match:B2,
60+
storage_is_fresh:B7
61+
: decision;
62+
63+
5364
0_PASS,
5465
1_REVALIDATE,
5566
2_RETRIEVE
56-
: outcomes;
67+
: status_code;
68+
69+
70+
block_cache_retrieve:B2
71+
: block_entry;
5772

5873

5974
block_cache_retrieve

0 commit comments

Comments
 (0)