X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fovsdb-idl.h;h=e7ae6f1d4daa1c155fda32176a81b8ce4feb95d7;hb=ce27cbee00fa713c419d5fd5f7dece469f41c0a7;hp=d11fb0e0249e1d62204bb738c088d7ce5539b813;hpb=cfea354b81c6c786a35eff257b65e4d6f64f9da8;p=openvswitch diff --git a/lib/ovsdb-idl.h b/lib/ovsdb-idl.h index d11fb0e0..e7ae6f1d 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 *); @@ -111,6 +115,7 @@ bool ovsdb_idl_row_is_synthetic(const struct ovsdb_idl_row *); /* Transactions. */ enum ovsdb_idl_txn_status { + TXN_UNCOMMITTED, /* Not yet committed or aborted. */ TXN_UNCHANGED, /* Transaction didn't include any changes. */ TXN_INCOMPLETE, /* Commit in progress, please wait. */ TXN_ABORTED, /* ovsdb_idl_txn_abort() called. */ @@ -118,6 +123,7 @@ enum ovsdb_idl_txn_status { TXN_TRY_AGAIN, /* Commit failed because a "verify" operation * reported an inconsistency, due to a network * problem, or other transient failure. */ + TXN_NOT_LOCKED, /* Server hasn't given us the lock yet. */ TXN_ERROR /* Commit failed due to a hard error. */ };