ydn.db
Version:
Javascript database library for IndexedDB, WebDatabase (WebSQL) and WebStorage (localStorage) storage mechanisms supporting version migration, advanced query and transaction workflow.
54 lines (39 loc) • 809 B
JavaScript
/**
* @fileoverview Mutax.
*/
goog.provide('ydn.db.base.Mutex');
/**
* Create a new mutax with false state.
* @constructor
* @struct
*/
ydn.db.base.Mutex = function() {
this.state_ = false;
};
/**
* @type {boolean}
* @private
*/
ydn.db.base.Mutex.prototype.state_ = false;
/**
* Set mutex state to true.
*/
ydn.db.base.Mutex.prototype.up = function() {
// console.log('mutex up')
goog.asserts.assert(!this.state_, 'Mutex already up.');
this.state_ = true;
};
/**
* Set mutex state to false.
*/
ydn.db.base.Mutex.prototype.down = function() {
// console.log('mutex down')
goog.asserts.assert(this.state_, 'Mutex already down.');
this.state_ = false;
};
/**
* @return {boolean} mutex state.
*/
ydn.db.base.Mutex.prototype.state = function() {
return this.state_;
};