/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.openflowplugin.api.openflow.device.handlers; import java.util.List; import org.opendaylight.openflowplugin.api.openflow.device.Xid; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowRemoved; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketInMessage; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortStatusMessage; /** * Device reply processor. */ public interface DeviceReplyProcessor { /** * Method that set future to context in Map. * @param ofHeader openflow header */ void processReply(OfHeader ofHeader); /** * Method that set future to context in Map. * @param xid xid * @param ofHeaderList openflow header list */ void processReply(Xid xid, List<? extends OfHeader> ofHeaderList); /** * Method process async flow removed from device. * @param flowRemoved flow removed */ void processFlowRemovedMessage(FlowRemoved flowRemoved); /** * Method process async port status from device. * @param portStatus port status */ void processPortStatusMessage(PortStatusMessage portStatus); /** * Method process async packet in from device. * @param packetInMessage packet in message */ void processPacketInMessage(PacketInMessage packetInMessage); /** * Processing of experimenter symmetric message from device. * @param notification notification */ void processExperimenterMessage(ExperimenterMessage notification); }