1 package org.opendaylight.ovsdb.lib.message;
5 import com.google.common.util.concurrent.ListenableFuture;
7 import org.opendaylight.controller.sal.core.Node;
8 import org.opendaylight.ovsdb.lib.database.DatabaseSchema;
9 import org.opendaylight.ovsdb.lib.message.operations.OperationResult;
11 public interface OVSDB {
12 public static final String REGISTER_CALLBACK_METHOD = "registerCallback";
14 public ListenableFuture<DatabaseSchema> get_schema(List<String> db_names);
16 public ListenableFuture<List<String>> echo();
18 public ListenableFuture<TableUpdates> monitor(MonitorRequestBuilder request);
20 public ListenableFuture<List<String>> list_dbs();
22 public ListenableFuture<List<OperationResult>> transact(TransactBuilder transact);
24 public ListenableFuture<Response> cancel(String id);
26 public ListenableFuture<Object> monitor_cancel(Object json_value);
28 public ListenableFuture<Object> lock(List<String> id);
30 public ListenableFuture<Object> steal(List<String> id);
32 public ListenableFuture<Object> unlock(List<String> id);
34 public boolean registerCallback(Callback callback);
36 public static interface Callback {
37 public void update(Node node, UpdateNotification upadateNotification);
38 public void locked(Node node, List<String> ids);
39 public void stolen(Node node, List<String> ids);
40 // ECHO is handled by JsonRPCEndpoint directly.
41 // We can add Echo request here if there is a need for clients to handle it.