Kraken\Channel\Model\Socket\Socket::onData PHP Метод

onData() публичный Метод

public onData ( Kraken\Ipc\Socket\SocketInterface $client, string $data )
$client Kraken\Ipc\Socket\SocketInterface
$data string
    public function onData(SocketInterface $client, $data)
    {
        $messages = [];
        $resID = $client->getResourceId();
        $buffer = '';
        if (isset($this->frameBuffer[$resID])) {
            $buffer = $this->frameBuffer[$resID];
            unset($this->frameBuffer[$resID]);
        }
        $buffer = preg_replace_callback("#(.*?)\r\n#si", function ($matches) use(&$messages) {
            $messages[] = $matches[1];
            return '';
        }, $buffer . $data);
        if ($buffer !== '') {
            $this->frameBuffer[$resID] = $buffer;
            unset($buffer);
        }
        foreach ($messages as $message) {
            if ($message !== '') {
                $this->onMessage($client, $message);
            }
        }
    }