ShardedKV::Storage provides a role/interface that storage backends must consume. Consuming the role requires implementing the three important operations necessary for a storage backend. There are a few storage backends that come with ShardedKV. Please see those modules for their specific details.

Storage backends must implement reset_connection() to allow for reconnects. Since most things are not reentrant and signals can mess with the state of sockets and such, the ability to reset the connection (whatever that means for your particular storage backend), is paramount.