Skip to content

Commit

Permalink
update cache-retrieve to new cosmogol format
Browse files Browse the repository at this point in the history
  • Loading branch information
andreineculau committed Oct 18, 2014
1 parent 45aeac5 commit c339b5e
Show file tree
Hide file tree
Showing 2 changed files with 428 additions and 11 deletions.
37 changes: 26 additions & 11 deletions httpdd-cache-retrieve.fsm.cosmogol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Title = "HTTP Decision Diagram - Cache Retrieve";
Version = "v1.0.201402";
Version = "v1.0.201410";
Description = "An activity diagram to describe the resolution of cache retrieval, given various methods and headers, implemented via semantical callbacks.";
Initial = start;
Final = finish;
Expand All @@ -10,22 +10,22 @@ last:anything -> finish;


block_cache_retrieve:anything -> storage_has_uri_match;
storage_has_uri_match:false -> 0_PASS;
storage_has_uri_match:false -C2,C7-> 0_PASS;
storage_has_uri_match:true -> is_method_cacheable;
is_method_cacheable:false -> 0_PASS;
is_method_cacheable:false -C3,C7-> 0_PASS;
is_method_cacheable:true -> storage_has_headers_match;
storage_has_headers_match:false -> 0_PASS;
storage_has_headers_match:false -C4,C7-> 0_PASS;
storage_has_headers_match:true -> cache_control_has_no_cache_directive;
cache_control_has_no_cache_directive:true -> 1_REVALIDATE;
cache_control_has_no_cache_directive:true -A5,A6-> 1_REVALIDATE;
cache_control_has_no_cache_directive:false -> storage_has_no_cache_directive;
storage_has_no_cache_directive:true -> 1_REVALIDATE;
storage_has_no_cache_directive:true -A6-> 1_REVALIDATE;
storage_has_no_cache_directive:false -> storage_is_fresh;
storage_is_fresh:false -> 0_PASS;
storage_is_fresh:true -> 2_RETRIEVE;
storage_is_fresh:false -C7-> 0_PASS;
storage_is_fresh:true -B8-> 2_RETRIEVE;


0_PASS:anything -> last;
1_REVALIDATE:anything -> storage_is_fresh;
1_REVALIDATE:anything -A6,A7-> storage_is_fresh;
2_RETRIEVE:anything -> last;


Expand All @@ -40,20 +40,35 @@ false
2_RETRIEVE,
block_cache_retrieve,
cache_control_has_no_cache_directive,
finish:B10,
is_method_cacheable,
last,
start,
start:B1,
storage_has_headers_match,
storage_has_no_cache_directive,
storage_has_uri_match,
storage_is_fresh
: state;


cache_control_has_no_cache_directive:B5,
is_method_cacheable:B3,
last:B9,
storage_has_headers_match:B4,
storage_has_no_cache_directive:B6,
storage_has_uri_match:B2,
storage_is_fresh:B7
: decision;


0_PASS,
1_REVALIDATE,
2_RETRIEVE
: outcomes;
: status_code;


block_cache_retrieve:B2
: block_entry;


block_cache_retrieve
Expand Down
Loading

0 comments on commit c339b5e

Please sign in to comment.