|  |  |  | <?php
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * @link http://www.yiiframework.com/
 | 
					
						
							|  |  |  |  * @copyright Copyright (c) 2008 Yii Software LLC
 | 
					
						
							|  |  |  |  * @license http://www.yiiframework.com/license/
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace yii\caching;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * MemCacheServer represents the configuration data for a single memcache or memcached server.
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * See [PHP manual](http://www.php.net/manual/en/function.Memcache-addServer.php) for detailed explanation
 | 
					
						
							|  |  |  |  * of each configuration property.
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * @author Qiang Xue <qiang.xue@gmail.com>
 | 
					
						
							|  |  |  |  * @since 2.0
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | class MemCacheServer extends \yii\base\Object
 | 
					
						
							|  |  |  | {
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var string memcache server hostname or IP address
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $host;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var integer memcache server port
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $port = 11211;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var integer probability of using this server among all servers.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $weight = 1;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var boolean whether to use a persistent connection. This is used by memcache only.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $persistent = true;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var integer timeout in milliseconds which will be used for connecting to the server.
 | 
					
						
							|  |  |  | 	 * This is used by memcache only. For old versions of memcache that only support specifying
 | 
					
						
							|  |  |  | 	 * timeout in seconds this will be rounded up to full seconds.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $timeout = 1000;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var integer how often a failed server will be retried (in seconds). This is used by memcache only.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $retryInterval = 15;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var boolean if the server should be flagged as online upon a failure. This is used by memcache only.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $status = true;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var \Closure this callback function will run upon encountering an error.
 | 
					
						
							|  |  |  | 	 * The callback is run before fail over is attempted. The function takes two parameters,
 | 
					
						
							|  |  |  | 	 * the [[host]] and the [[port]] of the failed server.
 | 
					
						
							|  |  |  | 	 * This is used by memcache only.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $failureCallback;
 | 
					
						
							|  |  |  | }
 |