blob: 83c62d64b1685399c6a94bf67bf6958aee988c21 [file] [log] [blame]
Shravan Ambatibb6b4452016-05-04 13:25:28 -07001/**
Brian O'Connor0a4e6742016-09-15 23:03:10 -07002 * Copyright 2016-present Open Networking Laboratory
Shravan Ambatibb6b4452016-05-04 13:25:28 -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.converter;
16
17import org.onosproject.event.Event;
18
Shravan Ambatibb6b4452016-05-04 13:25:28 -070019
20/**
21 *
Sanjana Agarwalcb4a3db2016-07-14 11:42:48 -070022 * APIs for converting between ONOS event objects and protobuf data objects.
Shravan Ambatibb6b4452016-05-04 13:25:28 -070023 *
24 */
25public interface EventConverter {
26
27 /**
28 * Converts ONOS specific event data to a format that is suitable for export
29 * to Kafka.
30 *
31 * @param event ONOS Event object
Shravan Ambatia4875d82017-01-09 13:06:51 -080032 * @return converted data in protobuf format as a byte array.
Shravan Ambatibb6b4452016-05-04 13:25:28 -070033 */
Shravan Ambatia4875d82017-01-09 13:06:51 -080034 byte[] convertToProtoMessage(Event<?, ?> event);
Shravan Ambatibb6b4452016-05-04 13:25:28 -070035}