raklib\server\Session::handleEncapsulatedPacket PHP Метод

handleEncapsulatedPacket() приватный Метод

private handleEncapsulatedPacket ( EncapsulatedPacket $packet )
$packet raklib\protocol\EncapsulatedPacket
    private function handleEncapsulatedPacket(EncapsulatedPacket $packet)
    {
        if ($packet->messageIndex === null) {
            $this->handleEncapsulatedPacketRoute($packet);
        } else {
            if ($packet->messageIndex < $this->reliableWindowStart or $packet->messageIndex > $this->reliableWindowEnd) {
                return;
            }
            if ($packet->messageIndex - $this->lastReliableIndex === 1) {
                $this->lastReliableIndex++;
                $this->reliableWindowStart++;
                $this->reliableWindowEnd++;
                $this->handleEncapsulatedPacketRoute($packet);
                if (count($this->reliableWindow) > 0) {
                    ksort($this->reliableWindow);
                    foreach ($this->reliableWindow as $index => $pk) {
                        if ($index - $this->lastReliableIndex !== 1) {
                            break;
                        }
                        $this->lastReliableIndex++;
                        $this->reliableWindowStart++;
                        $this->reliableWindowEnd++;
                        $this->handleEncapsulatedPacketRoute($pk);
                        unset($this->reliableWindow[$index]);
                    }
                }
            } else {
                $this->reliableWindow[$packet->messageIndex] = $packet;
            }
        }
    }