diff --git a/JsonRpcConsumers.php b/JsonRpcConsumers.php index a1d6d7e..f04707d 100644 --- a/JsonRpcConsumers.php +++ b/JsonRpcConsumers.php @@ -4,6 +4,7 @@ namespace Kiri\Rpc; use Exception; +use JetBrains\PhpStorm\ArrayShape; use Kiri\Message\ServerRequest; use Kiri\Message\Stream; use Kiri\Core\Number; @@ -120,6 +121,7 @@ abstract class JsonRpcConsumers implements OnRpcConsumerInterface * @throws RpcServiceException|\ReflectionException * @throws Exception */ + #[ArrayShape(['Address' => "mixed", 'Port' => "mixed"])] private function get_consul($service): array { if (empty($service)) { @@ -137,6 +139,7 @@ abstract class JsonRpcConsumers implements OnRpcConsumerInterface * @param $services * @return array */ + #[ArrayShape(['Address' => "mixed", 'Port' => "mixed"])] private function _loadRand($services): array { $array = []; diff --git a/TraitTransporter.php b/TraitTransporter.php index 866fdc4..d36885e 100644 --- a/TraitTransporter.php +++ b/TraitTransporter.php @@ -52,12 +52,11 @@ trait TraitTransporter */ private function newClient(): Coroutine\Client|Client { - $alias = $this->alias($this->config); - $client = $this->clients[$alias] ?? null; - if (is_null($client)) { - $client = Context::inCoroutine() ? new Coroutine\Client(SWOOLE_SOCK_TCP) : new Client(SWOOLE_SOCK_TCP); - $this->clients[$alias] = $client; - } + if (Context::inCoroutine()) { + $client = new Coroutine\Client(SWOOLE_SOCK_TCP); + } else { + $client = new Client(SWOOLE_SOCK_TCP); + } [$host, $port] = [$this->config['Address'], $this->config['Port']]; if (!$client->isConnected() && !$client->connect($host, $port, 60)) { throw new Exception('connect fail.');