/** * Copyright (c) 2013 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.openflow.md.queue; import java.util.Collection; import java.util.Map; import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductor; import org.opendaylight.openflowplugin.openflow.md.core.IMDMessageTranslator; import org.opendaylight.openflowplugin.openflow.md.core.TranslatorKey; /** * @author mirehak * @param source type * @param result type */ public interface QueueKeeper { /** * @param listener */ void addPopListener(PopListener listener); /** * @param listener * @return removed listener */ boolean removePopListener(PopListener listener); /** * @param translatorMapping */ void setTranslatorMapping(Map>> translatorMapping); /** * @param registeredMessageClazz registered message type * @param message * @param conductor */ void push(Class registeredMessageClazz, IN message, ConnectionConductor conductor); }