diff options
Diffstat (limited to 'framework/src/onos/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java')
-rw-r--r-- | framework/src/onos/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/framework/src/onos/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java b/framework/src/onos/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java deleted file mode 100644 index 52a999a4..00000000 --- a/framework/src/onos/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.store.consistent.impl; - - -import java.util.function.Consumer; - -import net.kuujo.copycat.cluster.ClusterConfig; -import net.kuujo.copycat.cluster.internal.coordinator.ClusterCoordinator; -import net.kuujo.copycat.cluster.internal.coordinator.CoordinatorConfig; -import net.kuujo.copycat.cluster.internal.coordinator.DefaultClusterCoordinator; -import net.kuujo.copycat.resource.Resource; - -/** - * Database. - */ -public interface Database extends DatabaseProxy<String, byte[]>, Resource<Database> { - - /** - * Creates a new database with the default cluster configuration.<p> - * - * The database will be constructed with the default cluster configuration. The default cluster configuration - * searches for two resources on the classpath - {@code cluster} and {cluster-defaults} - in that order. Configuration - * options specified in {@code cluster.conf} will override those in {cluster-defaults.conf}.<p> - * - * Additionally, the database will be constructed with an database configuration that searches the classpath for - * three configuration files - {@code name}, {@code database}, {@code database-defaults}, {@code resource}, and - * {@code resource-defaults} - in that order. The first resource is a configuration resource with the same name - * as the map resource. If the resource is namespaced - e.g. `databases.my-database.conf` - then resource - * configurations will be loaded according to namespaces as well; for example, `databases.conf`. - * - * @param name The database name. - * @return The database. - */ - static Database create(String name) { - return create(name, new ClusterConfig(), new DatabaseConfig()); - } - - /** - * Creates a new database.<p> - * - * The database will be constructed with an database configuration that searches the classpath for - * three configuration files - {@code name}, {@code database}, {@code database-defaults}, {@code resource}, and - * {@code resource-defaults} - in that order. The first resource is a configuration resource with the same name - * as the database resource. If the resource is namespaced - e.g. `databases.my-database.conf` - then resource - * configurations will be loaded according to namespaces as well; for example, `databases.conf`. - * - * @param name The database name. - * @param cluster The cluster configuration. - * @return The database. - */ - static Database create(String name, ClusterConfig cluster) { - return create(name, cluster, new DatabaseConfig()); - } - - /** - * Creates a new database. - * - * @param name The database name. - * @param cluster The cluster configuration. - * @param config The database configuration. - - * @return The database. - */ - static Database create(String name, ClusterConfig cluster, DatabaseConfig config) { - ClusterCoordinator coordinator = - new DefaultClusterCoordinator(new CoordinatorConfig().withName(name).withClusterConfig(cluster)); - return coordinator.<Database>getResource(name, config.resolve(cluster)) - .addStartupTask(() -> coordinator.open().thenApply(v -> null)) - .addShutdownTask(coordinator::close); - } - - /** - * Tells whether the database supports change notifications. - * @return true if notifications are supported; false otherwise - */ - default boolean hasChangeNotificationSupport() { - return true; - } - - /** - * Registers a new consumer of StateMachineUpdates. - * @param consumer consumer to register - */ - void registerConsumer(Consumer<StateMachineUpdate> consumer); - - /** - * Unregisters a consumer of StateMachineUpdates. - * @param consumer consumer to unregister - */ - void unregisterConsumer(Consumer<StateMachineUpdate> consumer); -}
\ No newline at end of file |