   'phpDocumentor\Descriptor\FileDescriptor * hash 2ed0af7e692dfe830ffd72e1ad4cc2d7 * pathPools/IAsynPool.php	 * source<?php
/**
 * IAsynPool
 *
 * @author tmtbe
 * @copyright Chengdu pinguo Technology Co.,Ltd.
 */

namespace PG\MSF\Pools;

use PG\MSF\MSFServer;
use Exception;

/**
 * Interface IAsynPool
 * @package PG\MSF\Pools
 */
interface IAsynPool
{
    /**
     * 返回唯一的连接池名称
     *
     * @return string
     */
    function getAsynName();

    /**
     * 分发消息
     *
     * @param array $data 待分发数据
     * @return $this
     */
    function distribute($data);

    /**
     * 执行命令
     *
     * @param array $data 命令相关信息
     */
    function execute($data);

    /**
     * 初始化
     *
     * @param MSFServer $swooleServer Server实例
     * @param AsynPoolManager $asynManager 异步连接池管理器
     * @return $this
     */
    function serverInit($swooleServer, $asynManager);

    /**
     * 初始化workerId
     *
     * @param int $workerId worker进程ID
     * @return $this
     */
    function workerInit($workerId);

    /**
     * 归还连接
     *
     * @param mixed $client 连接对象
     * @return $this
     */
    function pushToPool($client);

    /**
     * 创建连接
     */
    function prepareOne();

    /**
     * 注册回调
     *
     * @param callable $callback 回调函数
     * @return int
     */
    function addTokenCallback($callback);

    /**
     * 获取同步连接
     *
     * @return mixed
     * @throws Exception
     */
    function getSync();
}
 * namespaceAliases#phpDocumentor\Descriptor\Collection * items	MSFServer\PG\MSF\MSFServer	Exception
\Exception * includes	  * constants	  * functions	 
 * classes	  * interfaces	\PG\MSF\Pools\IAsynPool,phpDocumentor\Descriptor\InterfaceDescriptor
 * parents	 	 
 * methods		getAsynName)phpDocumentor\Descriptor\MethodDescriptor	 * parent" * abstract * final	 * static * visibilitypublic * arguments	  * fqsen&\PG\MSF\Pools\IAsynPool::getAsynName() * name * namespace 
 * package
 * summary返回唯一的连接池名称 * description * fileDescriptor  * line * tags	return	 -phpDocumentor\Descriptor\Tag\ReturnDescriptor * types	 .phpDocumentor\Descriptor\Type\StringDescriptor "+'	 * errors	 param	 /	  * inheritedElement 
distribute"	$data+phpDocumentor\Descriptor\ArgumentDescriptor	 * method"%-	 3phpDocumentor\Descriptor\Type\UnknownTypeDescriptor"array
 * default  * byReference * isVariadic "3# $%'待分发数据( ) *	 /	 1  %\PG\MSF\Pools\IAsynPool::distribute()"2# $%分发消息'( )!*	0	 ,phpDocumentor\Descriptor\Tag\ParamDescriptor * variableName3-")"0';/	 +	 ,-	 6"$this"+'/	 /	 1 execute"	345"A-	 6"78 9: "3# $%'命令相关信息( ) *	 /	 1  "\PG\MSF\Pools\IAsynPool::execute()"A# $%执行命令'( )(*	0	 >?3-"E"0'B/	 +	 /	 1 
serverInit"	$swooleServer45"W-	 6"8 9: "F# $%'Server实例( ) *	 /	 1 $asynManager45"W-	 6"\PG\MSF\Pools\AsynPoolManager8 9: "H# $%'异步连接池管理器( ) *	 /	 1  %\PG\MSF\Pools\IAsynPool::serverInit()"E# $%	初始化'( )1*	0	 >?F-"["0'G/	 >?H-"c"0'J/	 +	 ,-	 6"@"+'/	 /	 1 
workerInit"		$workerId45"~-	 /phpDocumentor\Descriptor\Type\IntegerDescriptor 8 9: "N# $%'worker进程ID( ) *	 /	 1  %\PG\MSF\Pools\IAsynPool::workerInit()"M# $%初始化workerId'( )9*	0	 >?N-""0'P/	 +	 ,-	 6"@"+'/	 /	 1 
pushToPool"	$client45"-	 6"mixed8 9: "T# $%'连接对象( ) *	 /	 1  %\PG\MSF\Pools\IAsynPool::pushToPool()"S# $%归还连接'( )A*	0	 >?T-""0'V/	 +	 ,-	 6"@"+'/	 /	 1 
prepareOne"	  %\PG\MSF\Pools\IAsynPool::prepareOne()"Y# $%创建连接'( )F*	+	 0	 /	 1 addTokenCallback"		$callback45"-	 6"callable8 9: "]# $%'回调函数( ) *	 /	 1  +\PG\MSF\Pools\IAsynPool::addTokenCallback()"\# $%注册回调'( )N*	0	 >?]-""0'_/	 +	 ,-	 O "+'/	 /	 1 getSync"	  "\PG\MSF\Pools\IAsynPool::getSync()"b# $%获取同步连接'( )V*	+	 ,-	 6"U"+'/	 throws	 -phpDocumentor\Descriptor\Tag\ThrowsDescriptor-	 6""e'/	 0	 /	 1  "	IAsynPool#\PG\MSF\Pools$PG\MSF\Pools%Interface IAsynPool'(" )*	package	 &phpDocumentor\Descriptor\TagDescriptor"k'i/	 
subpackage	 /	 1 	 * traits	 
 * markers	  "IAsynPool.php# $Default%g'( ) *	author	 -phpDocumentor\Descriptor\Tag\AuthorDescriptor"r'tmtbe/	 	copyright	 l"u'"Chengdu pinguo Technology Co.,Ltd./	 k	 l"k'q/	 m	 /	 1 