Join 4,000+ others and never miss out on new tips, tutorials, and more.
Latest version:
pecl install openswoole-22.1.2 | composer require openswoole/core:22.1.5
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.
<?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.