1 package org.opendaylight.openflowplugin.openflow.md.core.session;
3 import java.util.concurrent.Future;
5 import org.opendaylight.openflowplugin.openflow.md.core.SwitchConnectionDistinguisher;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.UpdateMeterOutput;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterInput;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowModInput;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncInput;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigInput;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigOutput;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesInput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigInput;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigOutput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GroupModInput;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketOutInput;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortModInput;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestInput;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestOutput;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetAsyncInput;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInput;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowOutput;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.UpdateGroupOutput;
31 import org.opendaylight.yangtools.yang.common.RpcResult;
34 * Message Dispatch Service to send the message to switch.
39 public interface IMessageDispatchService {
42 * send barrier message to switch
47 * - to identify connection if null then feel free to send via
49 * @return - the future
51 Future<RpcResult<BarrierOutput>> barrier(BarrierInput input, SwitchConnectionDistinguisher cookie);
54 * send experimenter message to switch
59 * - to identify connection if null then feel free to send via
61 * @return - the future
63 Future<RpcResult<java.lang.Void>> experimenter(ExperimenterInput input, SwitchConnectionDistinguisher cookie);
66 * send flow modification message to switch
71 * - to identify connection if null then feel free to send via
73 * @return - the future
75 Future<RpcResult<UpdateFlowOutput>> flowMod(FlowModInput input, SwitchConnectionDistinguisher cookie);
78 * send get async message to switch
83 * - to identify connection if null then feel free to send via
85 * @return - the future
87 Future<RpcResult<GetAsyncOutput>> getAsync(GetAsyncInput input, SwitchConnectionDistinguisher cookie);
90 * send get config message to switch
95 * - to identify connection if null then feel free to send via
97 * @return - the future
99 Future<RpcResult<GetConfigOutput>> getConfig(GetConfigInput input, SwitchConnectionDistinguisher cookie);
102 * send get features message to switch
107 * - to identify connection if null then feel free to send via
109 * @return - the future
111 Future<RpcResult<GetFeaturesOutput>> getFeatures(GetFeaturesInput input, SwitchConnectionDistinguisher cookie);
114 * send get queue config message to switch
119 * - to identify connection if null then feel free to send via
121 * @return - the future
123 Future<RpcResult<GetQueueConfigOutput>> getQueueConfig(GetQueueConfigInput input,
124 SwitchConnectionDistinguisher cookie);
127 * send group modification message to switch
132 * - to identify connection if null then feel free to send via
134 * @return - the future
136 Future<RpcResult<UpdateGroupOutput>> groupMod(GroupModInput input, SwitchConnectionDistinguisher cookie);
139 * send meter modification message to switch
144 * - to identify connection if null then feel free to send via
146 * @return - the future
148 Future<RpcResult<UpdateMeterOutput>> meterMod(MeterModInput input, SwitchConnectionDistinguisher cookie);
151 * send multipart request message to switch
154 * - multipart request message
156 * - to identify connection if null then feel free to send via
158 * @return - the future
160 Future<RpcResult<java.lang.Void>> multipartRequest(MultipartRequestInput input, SwitchConnectionDistinguisher cookie);
163 * send packet out message to switch
168 * - to identify connection if null then feel free to send via
170 * @return - the future
172 Future<RpcResult<java.lang.Void>> packetOut(PacketOutInput input, SwitchConnectionDistinguisher cookie);
175 * send port modification message to switch
180 * - to identify connection if null then feel free to send via
182 * @return - the future
184 Future<RpcResult<java.lang.Void>> portMod(PortModInput input, SwitchConnectionDistinguisher cookie);
187 * send role request message to switch
192 * - to identify connection if null then feel free to send via
194 * @return - the future
196 Future<RpcResult<RoleRequestOutput>> roleRequest(RoleRequestInput input, SwitchConnectionDistinguisher cookie);
199 * send set async message to switch
204 * - to identify connection if null then feel free to send via
206 * @return - the future
208 Future<RpcResult<java.lang.Void>> setAsync(SetAsyncInput input, SwitchConnectionDistinguisher cookie);
211 * send set config message to switch
216 * - to identify connection if null then feel free to send via
218 * @return - the future
220 Future<RpcResult<java.lang.Void>> setConfig(SetConfigInput input, SwitchConnectionDistinguisher cookie);
223 * send table modification message to switch
228 * - to identify connection if null then feel free to send via
230 * @return - the future
232 Future<RpcResult<java.lang.Void>> tableMod(TableModInput input, SwitchConnectionDistinguisher cookie);