package it.cavallium.dbengine.client; import io.micrometer.core.instrument.MeterRegistry; import io.net5.buffer.api.BufferAllocator; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public interface CompositeDatabase { Mono close(); /** * Can return SnapshotException */ Mono takeSnapshot(); /** * Can return SnapshotException */ Mono releaseSnapshot(CompositeSnapshot snapshot); BufferAllocator getAllocator(); MeterRegistry getMeterRegistry(); /** * Find corrupted items */ Flux badBlocks(); Mono verifyChecksum(); }