blob: 225910444000e1752aa368dd5fd36309a7b3c96b [file] [log] [blame]
Jonathan Hart054da972015-02-18 17:30:28 -08001/*
2 * Copyright 2015 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.store.service;
17
Madan Jampanibff6d8f2015-03-31 16:53:47 -070018import java.util.Collection;
Jonathan Hart054da972015-02-18 17:30:28 -080019import java.util.List;
Madan Jampanib5d72d52015-04-03 16:53:50 -070020import java.util.Map;
Jonathan Hart054da972015-02-18 17:30:28 -080021
22/**
23 * Service for administering storage instances.
24 */
25public interface StorageAdminService {
26
27 /**
28 * Returns information about all partitions in the system.
29 *
30 * @return list of partition information
31 */
32 List<PartitionInfo> getPartitionInfo();
Madan Jampania89f8f92015-04-01 14:39:54 -070033
34 /**
35 * Returns information about all the consistent maps in the system.
36 *
37 * @return list of map information
38 */
39 List<MapInfo> getMapInfo();
Madan Jampanibff6d8f2015-03-31 16:53:47 -070040
41 /**
Madan Jampanib5d72d52015-04-03 16:53:50 -070042 * Returns information about all the atomic counters in the system.
Kaouther Abrouguid8b565a2015-05-20 16:07:20 -070043 * If 2 counters belonging to 2 different databases have the same name,
44 * then only one counter from one database is returned.
Madan Jampanib5d72d52015-04-03 16:53:50 -070045 *
46 * @return mapping from counter name to that counter's next value
47 */
48 Map<String, Long> getCounters();
49
50 /**
Kaouther Abrouguid8b565a2015-05-20 16:07:20 -070051 * Returns information about all the atomic partitioned database counters in the system.
52 *
53 * @return mapping from counter name to that counter's next value
54 */
55 Map<String, Long> getPartitionedDatabaseCounters();
56
57 /**
58 * Returns information about all the atomic in-memory database counters in the system.
59 *
60 * @return mapping from counter name to that counter's next value
61 */
62 Map<String, Long> getInMemoryDatabaseCounters();
63
64 /**
Madan Jampanibff6d8f2015-03-31 16:53:47 -070065 * Returns all the transactions in the system.
66 *
67 * @return collection of transactions
68 */
69 Collection<Transaction> getTransactions();
70
71 /**
72 * Redrives stuck transactions while removing those that are done.
73 */
74 void redriveTransactions();
Jonathan Hart054da972015-02-18 17:30:28 -080075}