69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Safe;
 | 
						|
 | 
						|
use Safe\Exceptions\ShmopException;
 | 
						|
 | 
						|
/**
 | 
						|
 * shmop_delete is used to delete a shared memory block.
 | 
						|
 *
 | 
						|
 * @param resource $shmid The shared memory block resource created by
 | 
						|
 * shmop_open
 | 
						|
 * @throws ShmopException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function shmop_delete($shmid): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \shmop_delete($shmid);
 | 
						|
    if ($result === false) {
 | 
						|
        throw ShmopException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * shmop_read will read a string from shared memory block.
 | 
						|
 *
 | 
						|
 * @param resource $shmid The shared memory block identifier created by
 | 
						|
 * shmop_open
 | 
						|
 * @param int $start Offset from which to start reading
 | 
						|
 * @param int $count The number of bytes to read.
 | 
						|
 * 0 reads shmop_size($shmid) - $start bytes.
 | 
						|
 * @return string Returns the data.
 | 
						|
 * @throws ShmopException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function shmop_read($shmid, int $start, int $count): string
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \shmop_read($shmid, $start, $count);
 | 
						|
    if ($result === false) {
 | 
						|
        throw ShmopException::createFromPhpError();
 | 
						|
    }
 | 
						|
    return $result;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * shmop_write will write a string into shared memory block.
 | 
						|
 *
 | 
						|
 * @param resource $shmid The shared memory block identifier created by
 | 
						|
 * shmop_open
 | 
						|
 * @param string $data A string to write into shared memory block
 | 
						|
 * @param int $offset Specifies where to start writing data inside the shared memory
 | 
						|
 * segment.
 | 
						|
 * @return int The size of the written data.
 | 
						|
 * @throws ShmopException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function shmop_write($shmid, string $data, int $offset): int
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \shmop_write($shmid, $data, $offset);
 | 
						|
    if ($result === false) {
 | 
						|
        throw ShmopException::createFromPhpError();
 | 
						|
    }
 | 
						|
    return $result;
 | 
						|
}
 |