OpenSwoole Buffer (Depreciation)

Latest version: pecl install openswoole-22.1.2 | composer require openswoole/core:22.1.5

This class or function have been deprecated.

OpenSwoole Buffer enable developers managing memory like C language without worrying about memory allocation and release.

The memory allocated by OpenSwoole\Buffer is not shared memory and can not be accessed by multiple processes.

Example

<?php
$buffer = new OpenSwoole\Buffer();
$buffer->append(str_repeat("A", 10));
$buffer->append(str_repeat("B", 20));
$buffer->append(str_repeat("C", 30));
var_dump($buffer);
OpenSwoole\Buffer->__construct(int $size = 128)

Fixed size memory blocks allocation.

OpenSwoole\Buffer->append(string $data)

Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

OpenSwoole\Buffer->substr(int $offset, int $length = -1, bool $remove = false)

Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

If $remove is set to be true and $offset is set to be 0, the data will be removed from the buffer. The memory for storing the data will be released when the buffer object is deconstructed.

OpenSwoole\Buffer->clear()

The memory buffer will be reset.

OpenSwoole\Buffer->expand(int $new_size)

Expand the size of memory buffer.

OpenSwoole\Buffer->write(int $offset, string $data)

Write data to the memory buffer. The memory allocated for the buffer will not be changed.

OpenSwoole\Buffer->read(int $offset, int $length)

Read data from the memory buffer based on offset and length.

OpenSwoole\Buffer->recycle()

Release the memory to OS which is not used by the memory buffer.

Last updated on September 1, 2022