blob: 32f7cd5d1e1dcdadbd8199bcb59171ce74e07d3c [file] [log] [blame]
alshabib42947782015-03-31 14:59:06 -07001/*
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.net.packet;
17
Madan Jampani6f8b7022015-12-07 16:59:59 -080018import org.onosproject.cluster.NodeId;
alshabib42947782015-03-31 14:59:06 -070019import org.onosproject.core.ApplicationId;
alshabib42947782015-03-31 14:59:06 -070020import org.onosproject.net.flow.TrafficSelector;
21
22/**
23 * Represents a packet request made to devices.
24 */
25public interface PacketRequest {
26
27 /**
28 * Obtain the traffic selector.
Thomas Vachuska27bee092015-06-23 19:03:10 -070029 *
alshabib42947782015-03-31 14:59:06 -070030 * @return a traffic selector
31 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070032 TrafficSelector selector();
alshabib42947782015-03-31 14:59:06 -070033
34 /**
35 * Obtain the priority.
Thomas Vachuska27bee092015-06-23 19:03:10 -070036 *
alshabib42947782015-03-31 14:59:06 -070037 * @return a PacketPriority
38 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070039 PacketPriority priority();
alshabib42947782015-03-31 14:59:06 -070040
41 /**
42 * Obtain the application id.
Thomas Vachuska27bee092015-06-23 19:03:10 -070043 *
alshabib42947782015-03-31 14:59:06 -070044 * @return an application id
45 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070046 ApplicationId appId();
alshabib42947782015-03-31 14:59:06 -070047
Madan Jampani6f8b7022015-12-07 16:59:59 -080048 /**
49 * Obtain the node id.
50 *
51 * @return an node id
52 */
53 NodeId nodeId();
alshabib42947782015-03-31 14:59:06 -070054}