{"push_id":980611073,"size":1,"distinct_size":1,"ref":"refs/heads/async-loader","head":"d03c3d7bed16d9e170e2c740d92640d586c1f490","before":"040c2490fd123b29fe9a53d4b1a6288fd3ad8eb8","commits":[{"sha":"d03c3d7bed16d9e170e2c740d92640d586c1f490","author":{"email":"d05d859aebcabdf6cdaf3440210eff4d0849ac3f@gmail.com","name":"Ben Manes"},"message":"Early integration with existing tests passing\n\nThe next phase is to enhance the parameterized test generator to also\ncreate async caches using only an AsyncLoadingCache. That would ensure\nthat all the behaviors pass with that API configuration.\n\nRefresh remains a quirk. Unfortunately an asyncRefresh really can't be\ndone fully asynchronously as that would escape the map's compute block.\nIf the map held the refreshed value this would break the contract by\nnot providing the old value while the new one was loaded. So the async\ntask needs to wait for another async task to complete. To avoid this,\nwe hint to the task by supplying a same-thread executor so that our\nasync thread does the work instead. Similarly we try to prefer the\nsynchronous reload to avoid creating unnecessary garbage.","distinct":true,"url":"https://api.github.com/repos/ben-manes/caffeine/commits/d03c3d7bed16d9e170e2c740d92640d586c1f490"}]}