0d4046ef44a3a59f7cee2511cd9ad00d91b9bcd1
[openflowjava.git] / simple-client / src / main / java / org / opendaylight / openflowjava / protocol / impl / clients / OFClient.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.protocol.impl.clients;\r
10 \r
11 import com.google.common.util.concurrent.SettableFuture;\r
12 \r
13 /**\r
14  * Unifying interface for simple clients / switch simulators\r
15  * \r
16  * @author michal.polkorab\r
17  */\r
18 public interface OFClient extends Runnable {\r
19 \r
20     /**\r
21      * @return the isOnlineFuture which is set when client is started\r
22      */\r
23     SettableFuture<Boolean> getIsOnlineFuture();\r
24 \r
25     /**\r
26      * @return the scenarioDone when scenario is successfully finished\r
27      */\r
28     SettableFuture<Boolean> getScenarioDone();\r
29 \r
30     /**\r
31      * @param scenario list of desired actions\r
32      */\r
33     void setScenarioHandler(ScenarioHandler scenario);\r
34 \r
35     /**\r
36      * @param securedClient true is client should use encrypted communication,\r
37      * false otherwise\r
38      */\r
39     void setSecuredClient(boolean securedClient);\r
40 }