getTotalLength() public method

public getTotalLength ( )
Example #1
0
 /**
  * @param EncapsulatedPacket $packet
  * @param int                $flags
  */
 public function addEncapsulatedToQueue(EncapsulatedPacket $packet, $flags = RakLib::PRIORITY_NORMAL)
 {
     if (($packet->needACK = ($flags & RakLib::FLAG_NEED_ACK) > 0) === \true) {
         $this->needACK[$packet->identifierACK] = [];
     }
     if ($packet->reliability === 2 or $packet->reliability === 3 or $packet->reliability === 4 or $packet->reliability === 6 or $packet->reliability === 7) {
         $packet->messageIndex = $this->messageIndex++;
         if ($packet->reliability === 3) {
             $packet->orderIndex = $this->channelIndex[$packet->orderChannel]++;
         }
     }
     if ($packet->getTotalLength() + 4 > $this->mtuSize) {
         $buffers = \str_split($packet->buffer, $this->mtuSize - 34);
         $splitID = ++$this->splitID % 65536;
         foreach ($buffers as $count => $buffer) {
             $pk = new EncapsulatedPacket();
             $pk->splitID = $splitID;
             $pk->hasSplit = \true;
             $pk->splitCount = \count($buffers);
             $pk->reliability = $packet->reliability;
             $pk->splitIndex = $count;
             $pk->buffer = $buffer;
             if ($count > 0) {
                 $pk->messageIndex = $this->messageIndex++;
             } else {
                 $pk->messageIndex = $packet->messageIndex;
             }
             if ($pk->reliability === 3) {
                 $pk->orderChannel = $packet->orderChannel;
                 $pk->orderIndex = $packet->orderIndex;
             }
             $this->addToQueue($pk, $flags | RakLib::PRIORITY_IMMEDIATE);
         }
     } else {
         $this->addToQueue($packet, $flags);
     }
 }