package it.cavallium.dbengine.client; import io.micrometer.core.instrument.MeterRegistry; import io.netty5.buffer.api.BufferAllocator; import it.cavallium.dbengine.database.DatabaseProperties; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public interface CompositeDatabase extends DatabaseProperties { 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(); }