src/Server/Components/GrayLog/UdpTransport.php
protected function sendMessageInChunks($rawMessage)
    {
        // split to chunks
        $chunks = str_split($rawMessage, $this->chunkSize);
        $numChunks = count($chunks);

        if ($numChunks > self::CHUNK_MAX_COUNT) {
            throw new \Exception(
                sprintf(
                    "Message is too big. Chunk count exceeds %d",
                    self::CHUNK_MAX_COUNT
                )
            );
        }

        // generate a random 8byte-message-id
        $messageId = substr(md5(uniqid("", true), true), 0, 8);

        // send chunks with a correct chunk-header
        // @link http://graylog2.org/gelf#specs
        foreach ($chunks as $idx => $chunk) {
            $data = self::CHUNK_GELF_ID            // GELF chunk magic bytes
                . $messageId                       // unique message id
                . pack('CC', $idx, $numChunks)     // sequence information
                . $chunk                           // chunk-data
            ;

            $this->write($data);
        }

        return $numChunks;
    }
protected function sendMessageInChunks($rawMessage)
    {
        // split to chunks
        $chunks = str_split($rawMessage, $this->chunkSize);
        $numChunks = count($chunks);

        if ($numChunks > self::CHUNK_MAX_COUNT) {
            throw new \Exception(
                sprintf(
                    "Message is too big. Chunk count exceeds %d",
                    self::CHUNK_MAX_COUNT
                )
            );
        }

        // generate a random 8byte-message-id
        $messageId = substr(md5(uniqid("", true), true), 0, 8);

        // send chunks with a correct chunk-header
        // @link http://graylog2.org/gelf#specs
        foreach ($chunks as $idx => $chunk) {
            $data = self::CHUNK_GELF_ID            // GELF chunk magic bytes
                . $messageId                       // unique message id
                . pack('CC', $idx, $numChunks)     // sequence information
                . $chunk                           // chunk-data
            ;

            $this->write($data);
        }

        return $numChunks;
    }
protected function sendMessageInChunks ( $ rawMessage ) { // split to chunks $ chunks = str_split ( $ rawMessage , $ this -> chunkSize ) ; $ numChunks = count ( $ chunks ) ; if ( $ numChunks > self :: CHUNK_MAX_COUNT ) { throw new \ Exception ( sprintf ( "Message is too big. Chunk count exceeds %d" , self :: CHUNK_MAX_COUNT ) ) ; } // generate a random 8byte-message-id $ messageId = substr ( md5 ( uniqid ( "" , true ) , true ) , 0 , 8 ) ; // send chunks with a correct chunk-header // @link http://graylog2.org/gelf#specs foreach ( $ chunks as $ idx => $ chunk ) { $ data = self :: CHUNK_GELF_ID // GELF chunk magic bytes . $ messageId // unique message id . pack ( 'CC' , $ idx , $ numChunks ) // sequence information . $ chunk // chunk-data ; $ this -> write ( $ data ) ; } return $ numChunks ; }
Sends given string in multiple chunks

@param  string $rawMessage
@return int
@throws \Exception
Sends given string in multiple chunks