blob: 792c2936714fdf8d4f17726d009d02d310cf0b44 [file] [log] [blame]
Sangsik Yoonf0b3ad82016-08-19 18:47:59 +09001/*
2 * Copyright 2016-present 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 */
16
17package org.onosproject.incubator.net.dpi;
18
19import java.util.List;
20
21/**
22 * Service for DPI Statistics Service Manager.
23 */
24public interface DpiStatisticsManagerService {
25 /**
26 * Get the latest DpiStatistics in the Store list.
27 *
28 * @return the DpiStatistics object class or null if not exist
29 */
30 DpiStatistics getDpiStatisticsLatest();
31
32 /**
33 * Get the latest DpiStatistics in the Store list.
34 *
35 * @param topnProtocols detected topn protocols, default = 100
36 * @param topnFlows detected topn known and unknown flows , default = 100
37 *
38 * @return the DpiStatistics object class or null if not exist
39 */
40 DpiStatistics getDpiStatisticsLatest(int topnProtocols, int topnFlows);
41
42 /**
43 * Gets the last N(Max = 100) DpiStatistics in the Store list.
44 *
45 * @return the List of DpiStatistics object class
46 */
47 List<DpiStatistics> getDpiStatistics(int lastN);
48
49 /**
50 * Gets the last N(Max = 100) DpiStatistics in the Store list.
51 *
52 * @param lastN latest N entries
53 * @param topnProtocols detected topn protocols, default = 100
54 * @param topnFlows detected topn known and unknown flows , default = 100
55 * @return the List of DpiStatistics object class
56 */
57 List<DpiStatistics> getDpiStatistics(int lastN, int topnProtocols, int topnFlows);
58
59 /**
60 * Get the specified receivedTime DpiStatistics in the Store list.
61 *
62 * @param receivedTime receivedTime string with format "yyyy-MM-dd HH:mm:ss"
63 * @return the DpiStatistics object class or null if not exist
64 */
65 DpiStatistics getDpiStatistics(String receivedTime);
66
67 /**
68 * Get the specified receivedTime DpiStatistics in the Store list.
69 *
70 * @param receivedTime receivedTime string with format "yyyy-MM-dd HH:mm:ss"
71 * @param topnProtocols detected topn protocols, default = 100
72 * @param topnFlows detected topn known and unknown flows , default = 100
73 * @return the DpiStatistics object class or null if not exist
74 */
75 DpiStatistics getDpiStatistics(String receivedTime, int topnProtocols, int topnFlows);
76
77 /**
78 * Adds DpiStatistics at the end of the Store list.
79 *
80 * @return the added DpiStatistics object class
81 */
82 DpiStatistics addDpiStatistics(DpiStatistics ds);
83
84}