Building a Second Level Cache Provider

Hello team,

I’m trying to build a new hibernate second level cache provider and I’m having a difficult time trying to find documentation or guides about how to do it properly. So far the only thing I’ve found is the package description in the javadocs for and org.hibernate.cache.spi… it’s a good start and I’ve been able to set up a new dummy provider locally, but I’m interested in more technical details like: when and how are the actual methods invoked?, things to consider when making the cache distributed, set of tests (if any) that a provider must pass to be considered “worthy”, etc.
Any pointers would be greatly appreciated.