blob: 1e9a36e9a481577fbfb416b0c64e38ad12d4fec5 [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
Madan Jampanicadd70b2016-02-08 13:45:43 -080022import org.onosproject.store.primitives.TransactionId;
23
Jonathan Hart054da972015-02-18 17:30:28 -080024/**
25 * Service for administering storage instances.
26 */
27public interface StorageAdminService {
28
29 /**
30 * Returns information about all partitions in the system.
31 *
32 * @return list of partition information
33 */
34 List<PartitionInfo> getPartitionInfo();
Madan Jampania89f8f92015-04-01 14:39:54 -070035
36 /**
37 * Returns information about all the consistent maps in the system.
38 *
39 * @return list of map information
40 */
41 List<MapInfo> getMapInfo();
Madan Jampanibff6d8f2015-03-31 16:53:47 -070042
43 /**
Madan Jampanib5d72d52015-04-03 16:53:50 -070044 * Returns information about all the atomic counters in the system.
Kaouther Abrouguid8b565a2015-05-20 16:07:20 -070045 * If 2 counters belonging to 2 different databases have the same name,
46 * then only one counter from one database is returned.
Madan Jampanib5d72d52015-04-03 16:53:50 -070047 *
48 * @return mapping from counter name to that counter's next value
49 */
50 Map<String, Long> getCounters();
51
52 /**
Kaouther Abrouguid8b565a2015-05-20 16:07:20 -070053 * Returns information about all the atomic partitioned database counters in the system.
54 *
55 * @return mapping from counter name to that counter's next value
56 */
57 Map<String, Long> getPartitionedDatabaseCounters();
58
59 /**
60 * Returns information about all the atomic in-memory database counters in the system.
61 *
62 * @return mapping from counter name to that counter's next value
63 */
64 Map<String, Long> getInMemoryDatabaseCounters();
65
66 /**
Madan Jampanicadd70b2016-02-08 13:45:43 -080067 * Returns all pending transactions.
Madan Jampanibff6d8f2015-03-31 16:53:47 -070068 *
Madan Jampanicadd70b2016-02-08 13:45:43 -080069 * @return collection of pending transaction identifiers.
Madan Jampanibff6d8f2015-03-31 16:53:47 -070070 */
Madan Jampanicadd70b2016-02-08 13:45:43 -080071 Collection<TransactionId> getPendingTransactions();
Jonathan Hart054da972015-02-18 17:30:28 -080072}