DarkRead client.
DarkWrite client.
DarkWrite client. requires backendClient; override all write operation (except cas) to send dark write to backend pool; backend write results are not blocking or exposed.
FallbackRead client.
FallbackRead client. requires backendClient; override Get to read the backend pool if for frontend pool misses; Gets remains the same, as fallback reading backend pool for cas_unique is useless.
Migration client.
Migration client. This client manages a two cache clients representing source and destination cache pool. Depending on the migration state, this client may send dark traffic to destination pool to warm up the cache, or send light traffic to destination pool and fall back to original pool for cache misses. The state transitioning is controlled by operator by setting corresponding metadata in zookeeper.
ReadRepair client.
ReadRepair client. can only be mixed into FallbackRead client; before combining frontend and backend result, use backend result to repair frontend missed key; frontend repairing is not not blocking or exposed.
ReadWarmup client.
ReadWarmup client. can only be mixed into DarkRead client; before returning frontend result, use frontend result to warm up backend missed key; backend warming up is not not blocking or exposed.
DarkRead client. requires backendClient; override Get and Gets to send dark read to backend pool; backend read results are not blocking or exposed.