CavalliumDBEngine/src/main/java/it/cavallium/dbengine/database/LLDatabaseConnection.java

38 lines
1.2 KiB
Java
Raw Normal View History

2020-12-07 22:15:18 +01:00
package it.cavallium.dbengine.database;
import io.micrometer.core.instrument.MeterRegistry;
2021-09-17 16:56:28 +02:00
import io.net5.buffer.api.BufferAllocator;
2021-05-28 16:04:59 +02:00
import it.cavallium.dbengine.client.IndicizerAnalyzers;
import it.cavallium.dbengine.client.IndicizerSimilarities;
2021-07-01 21:19:52 +02:00
import it.cavallium.dbengine.client.LuceneOptions;
import it.cavallium.dbengine.lucene.LuceneHacks;
2022-03-02 12:34:30 +01:00
import it.cavallium.dbengine.rpc.current.data.Column;
import it.cavallium.dbengine.rpc.current.data.DatabaseOptions;
2020-12-07 22:15:18 +01:00
import java.util.List;
import org.jetbrains.annotations.Nullable;
import reactor.core.publisher.Mono;
2020-12-07 22:15:18 +01:00
2021-02-03 14:37:02 +01:00
@SuppressWarnings("UnusedReturnValue")
2020-12-07 22:15:18 +01:00
public interface LLDatabaseConnection {
2021-08-29 23:18:03 +02:00
BufferAllocator getAllocator();
2021-05-03 21:41:51 +02:00
MeterRegistry getMeterRegistry();
Mono<? extends LLDatabaseConnection> connect();
2020-12-07 22:15:18 +01:00
2021-06-19 16:26:54 +02:00
Mono<? extends LLKeyValueDatabase> getDatabase(String name,
List<Column> columns,
2021-06-27 15:40:56 +02:00
DatabaseOptions databaseOptions);
2020-12-07 22:15:18 +01:00
2021-12-30 17:28:06 +01:00
Mono<? extends LLLuceneIndex> getLuceneIndex(@Nullable String clusterName,
@Nullable String shardName,
2020-12-07 22:15:18 +01:00
int instancesCount,
2021-05-28 16:04:59 +02:00
IndicizerAnalyzers indicizerAnalyzers,
IndicizerSimilarities indicizerSimilarities,
LuceneOptions luceneOptions,
@Nullable LuceneHacks luceneHacks);
2020-12-07 22:15:18 +01:00
Mono<Void> disconnect();
2020-12-07 22:15:18 +01:00
}