@0xf6520578f143b471; using CSharp = import "programming_language/csharp.capnp"; $CSharp.namespace("FabAccessAPI.Schema"); using import "utils.capnp".UUID; struct Cache(Value) { id @0 :UUID; key @1 :Data; value @2 :Cacheable(Value); } interface Cacheable(Value) { get @0 () -> (key :Data, value :Value); # Access the cached value. This returns both the value and the associated # key. A consumer MUST use the Key returned here instead of the one stored # in `Cache`, as it might have changed between being sent the `Cache` # struct and calling `get`. }