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;
 | |
| }
 |