The return value of refreshIsCachable() can be calculated without making a
call to refreshCheck().
I.e. you can remove the call to refreshCheck() from refreshIsCachable(), and
refreshIsCachable() will still return the correct result.
Sorry, still not following you. refreshIsCachable() uses the 'reason' value
in an early if statement:
if (reason < 200)
/* Does not need refresh. This is certainly cachable */
return 1;
And there are numerous cases where refreshCheck() would return FRESH_*
(i.e. < 200) values.
DW