Caching through an IO interface invariably requires serializing and deserializing the cached keys and values to bytes. This inherently requires duplicating the data, so it doesn't need owned access to the keys or values.
The interface to IOCached would require much less (unnecessary) cloning if the key and value parameters to set_cache were borrowed instead of owned.
I have a draft implementation of this in #196. The interfaces themselves work fine but the macros are a bit more challenging. I think it'll need some massaging to make stuff like &str parameters work.
Caching through an IO interface invariably requires serializing and deserializing the cached keys and values to bytes. This inherently requires duplicating the data, so it doesn't need owned access to the keys or values.
The interface to
IOCached
would require much less (unnecessary) cloning if the key and value parameters toset_cache
were borrowed instead of owned.