package it.cavallium.dbengine.database; import it.cavallium.dbengine.client.MemoryStats; import it.cavallium.dbengine.rpc.current.data.Column; import java.util.Map; import org.jetbrains.annotations.Nullable; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public interface DatabaseProperties { Mono getMemoryStats(); Mono getRocksDBStats(); Mono> getMapProperty(@Nullable Column column, RocksDBMapProperty property); Flux>> getMapColumnProperties(RocksDBMapProperty property); Mono getStringProperty(@Nullable Column column, RocksDBStringProperty property); Flux> getStringColumnProperties(RocksDBStringProperty property); Mono getLongProperty(@Nullable Column column, RocksDBLongProperty property); Flux> getLongColumnProperties(RocksDBLongProperty property); Mono getAggregatedLongProperty(RocksDBLongProperty property); Flux getTableProperties(); }