X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fovsdb-idl.h;h=320a1efcdd0dff2cf3358704ec493b52a36431f2;hb=6aa728e0efd1ed300c707af8fb54f9f3acacda10;hp=ac61e1abfec8c93735b6b2a4a920dfec4f63824d;hpb=2096903b45d28594c04b47b592a5b7e62b5e1ccc;p=sliver-openvswitch.git diff --git a/lib/ovsdb-idl.h b/lib/ovsdb-idl.h index ac61e1abf..320a1efcd 100644 --- a/lib/ovsdb-idl.h +++ b/lib/ovsdb-idl.h @@ -50,6 +50,10 @@ void ovsdb_idl_destroy(struct ovsdb_idl *); bool ovsdb_idl_run(struct ovsdb_idl *); void ovsdb_idl_wait(struct ovsdb_idl *); +void ovsdb_idl_set_lock(struct ovsdb_idl *, const char *lock_name); +bool ovsdb_idl_has_lock(const struct ovsdb_idl *); +bool ovsdb_idl_is_lock_contended(const struct ovsdb_idl *); + unsigned int ovsdb_idl_get_seqno(const struct ovsdb_idl *); bool ovsdb_idl_has_ever_connected(const struct ovsdb_idl *); void ovsdb_idl_force_reconnect(struct ovsdb_idl *); @@ -116,9 +120,12 @@ enum ovsdb_idl_txn_status { TXN_INCOMPLETE, /* Commit in progress, please wait. */ TXN_ABORTED, /* ovsdb_idl_txn_abort() called. */ TXN_SUCCESS, /* Commit successful. */ - TXN_TRY_AGAIN, /* Commit failed because a "verify" operation + TXN_AGAIN_WAIT, /* Commit failed because a "verify" operation * reported an inconsistency, due to a network - * problem, or other transient failure. */ + * problem, or other transient failure. Wait + * for a change, then try again. */ + TXN_AGAIN_NOW, /* Same as above but try again immediately. */ + TXN_NOT_LOCKED, /* Server hasn't given us the lock yet. */ TXN_ERROR /* Commit failed due to a hard error. */ };