diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui_3.0.0b1/api/io-queue.js.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/api/io-queue.js.html Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,349 @@ + + + + + API: io io-queue.js (YUI Library) + + + + + + + + + + +
+
+

Yahoo! UI Library

+

io  3.0.0b1

+ Yahoo! UI Library + > io + + > io-queue.js (source view) +
+
+ Search: +
+   +
+
+
+
+ +
+
+
+
+
+ Filters + + + +
+
+ +
+ +
   /**
+    * Extends the IO base class to implement Queue for synchronous
+    * transaction processing.
+	* @module io
+	* @submodule io-queue
+	*/
+
+   /**
+	* @description Array of transactions queued for processing
+	*
+	* @property _yQ
+	* @private
+	* @static
+	* @type Object
+	*/
+	var _q = new Y.Queue(),
+
+   /**
+	* @description Reference to "io:complete" event handler.
+	*
+	* @property _e
+	* @private
+	* @static
+	* @type Object
+	*/
+	_e,
+
+	_activeId,
+   /**
+	* @description Property to determine whether the queue is set to
+	* 1 (active) or 0 (inactive).  When inactive, transactions
+	* will be stored in the queue until the queue is set to active.
+	*
+	* @property _qState
+	* @private
+	* @static
+	* @type int
+	*/
+	_qState = 1;
+
+   /**
+	* @description Method for requesting a transaction, and queueing the
+	* request before it is sent to the resource.
+	*
+	* @method _queue
+	* @private
+	* @static
+	* @return Object
+	*/
+	function _queue(uri, c) {
+		var o = { uri: uri, id: Y.io._id(), cfg:c };
+
+		_q.add(o);
+		if (_qState === 1) {
+			_shift();
+		}
+
+		Y.log('Object queued.  Transaction id is' + o.id, 'info', 'io');
+		return o;
+	}
+
+   /**
+	* @description Method Process the first transaction from the
+	* queue in FIFO order.
+	*
+	* @method _shift
+	* @private
+	* @static
+	* @return void
+	*/
+	function _shift() {
+		var o = _q.next();
+
+		_activeId = o.id;
+		_qState = 0;
+		Y.io(o.uri, o.cfg, o.id);
+	}
+
+   /**
+	* @description Method for promoting a transaction to the top of the queue.
+	*
+	* @method _unshift
+	* @private
+	* @static
+	* @return void
+	*/
+	function _unshift(o) {
+		_q.promote(o);
+	}
+
+	function _next(id) {
+		_qState = 1;
+		if (_activeId === id && _q.size() > 0) {
+			_shift();
+		}
+	}
+
+   /**
+	* @description Method for removing a specific, pending transaction from
+	* the queue.
+	*
+	* @method _remove
+	* @private
+	* @static
+	* @return void
+	*/
+	function _remove(o) {
+		_q.remove(o);
+	}
+
+	function _start() {
+		_qState = 1;
+
+		if (_q.size() > 0) {
+			_shift();
+		}
+		Y.log('Queue started.', 'info', 'io');
+	}
+
+   /**
+	* @description Method for setting queue processing to inactive.
+	* Transaction requests to YUI.io.queue() will be stored in the queue, but
+	* not processed until the queue is reset to "active".
+	*
+	* @method _stop
+	* @private
+	* @static
+	* @return void
+	*/
+	function _stop() {
+		_qState = 0;
+		Y.log('Queue stopped.', 'info', 'io');
+	};
+
+   /**
+	* @description Method to query the current size of the queue.
+	*
+	* @method _size
+	* @private
+	* @static
+	* @return int
+	*/
+	function _size() {
+		return _q.size();
+	};
+
+	_e = Y.on('io:complete', function(id) { _next(id); }, Y.io);
+
+   /**
+	* @description Method to query the current size of the queue, or to
+	* set a maximum queue size.  This is the interface for _size().
+	*
+	* @method size
+	* @public
+	* @static
+	* @param {number} i - Specified maximum size of queue.
+    * @return number
+	*/
+	_queue.size = _size;
+
+   /**
+	* @description Method for setting the queue to active. If there are
+	* transactions pending in the queue, they will be processed from the
+	* queue in FIFO order. This is the interface for _start().
+	*
+	* @method start
+	* @public
+	* @static
+    * @return void
+	*/
+	_queue.start = _start;
+
+   /**
+	* @description Method for setting queue processing to inactive.
+	* Transaction requests to YUI.io.queue() will be stored in the queue, but
+	* not processed until the queue is restarted. This is the
+	* interface for _stop().
+	*
+	* @method stop
+	* @public
+	* @static
+    * @return void
+	*/
+	_queue.stop = _stop;
+
+   /**
+	* @description Method for promoting a transaction to the top of the queue.
+	* This is the interface for _unshift().
+	*
+	* @method promote
+	* @public
+	* @static
+	* @param {Object} o - Reference to queued transaction.
+    * @return void
+	*/
+	_queue.promote = _unshift;
+
+   /**
+	* @description Method for removing a specific, pending transaction from
+	* the queue. This is the interface for _purge().
+	*
+	* @method purge
+	* @public
+	* @static
+	* @param {Object} o - Reference to queued transaction.
+    * @return void
+	*/
+	_queue.remove = _remove;
+
+    Y.mix(Y.io, {
+		queue: _queue
+    }, true);
+
+
+
+
+ +
+
+
+ Copyright © 2009 Yahoo! Inc. All rights reserved. +
+
+ + +