blob: 0d0cc57b4088140d51b23f81074f8f4dd8a0ee77 [file] [log] [blame]
Shravan Ambati1e8471e2016-07-13 14:03:17 -07001/**
Brian O'Connor0a4e6742016-09-15 23:03:10 -07002 * Copyright 2016-present Open Networking Laboratory
Shravan Ambati1e8471e2016-07-13 14:03:17 -07003 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6
7 * http://www.apache.org/licenses/LICENSE-2.0
8
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15package org.onosproject.kafkaintegration.api;
16
17import org.onosproject.kafkaintegration.api.dto.OnosEvent;
18
19/**
20 * APIs to insert and delete into a local store. This store is used to keep
21 * track of events that are being published.
22 */
23public interface KafkaEventStorageService {
24
25 /**
Shravan Ambatia4875d82017-01-09 13:06:51 -080026 * Inserts the Onos Event into Distributed Work Queue.
Shravan Ambati1e8471e2016-07-13 14:03:17 -070027 *
28 * @param e the ONOS Event
Shravan Ambati1e8471e2016-07-13 14:03:17 -070029 */
Shravan Ambatia4875d82017-01-09 13:06:51 -080030 void publishEvent(OnosEvent event);
Shravan Ambati1e8471e2016-07-13 14:03:17 -070031
32 /**
Shravan Ambatia4875d82017-01-09 13:06:51 -080033 * Removes the Onos Event from the Distributed Work Queue.
Shravan Ambati1e8471e2016-07-13 14:03:17 -070034 *
Shravan Ambatia4875d82017-01-09 13:06:51 -080035 * @return the Onos Event
Shravan Ambati1e8471e2016-07-13 14:03:17 -070036 */
Shravan Ambatia4875d82017-01-09 13:06:51 -080037 OnosEvent consumeEvent();
Shravan Ambati1e8471e2016-07-13 14:03:17 -070038}