/** * 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.openflowjava.protocol.spi.connection; import java.util.concurrent.Future; import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler; /** * @author mirehak * */ public interface SwitchConnectionProvider { /** * @param configuration contains protocols, ports, addresses and similar connection parameters * TODO - create configuration interface proposal */ public void configure(Object configuration); /** * start listening to switches, but please don't forget to do * {@link #setSwitchConnectionListener(SwitchConnectionHandler)} first * @return future, triggered to true, when all listening channels are up and running */ public Future startup(); /** * stop listening to switches * @return future, triggered to true, when all listening channels are down */ public Future shutdown(); /** * @param switchConListener instance being informed when new switch connects */ public void setSwitchConnectionListener(SwitchConnectionHandler switchConListener); }