Version: current

# Class phpMorphy_Shm_Cache

  phpMorphy_Shm_Cache implements phpMorphy_Shm_Cache_Interface

Located at search/code/phpmorphy/shm_utils.php

## Methods summary

`public` | # `__construct( mixed $options = array(), mixed $clear = false )`
`public static` | # `clearSemaphore( mixed $semaphoreId = null )`
`protected` | # `repairOptions( mixed $options )`
`public` | # `close( )` #### Implementation of `phpMorphy_Shm_Cache_Interface::close()`
`protected` | # `safeInvoke( mixed $filePath, mixed $method )`
`protected` | # `doGet( mixed $filePath, mixed $header )`
`public` | # `get( mixed $filePath )` #### Implementation of `phpMorphy_Shm_Cache_Interface::get()`
`protected` | # `getSingleFile( mixed $header, mixed $filePath )`
`protected` | # `doClear( mixed $filePath, mixed $header )`
`public` | # `clear( )` #### Implementation of `phpMorphy_Shm_Cache_Interface::clear()`
`protected` | # `doDelete( mixed $filePath, mixed $header )`
`public` | # `delete( mixed $filePath )` #### Implementation of `phpMorphy_Shm_Cache_Interface::delete()`
`protected` | # `doReload( mixed $filePath, mixed $header )`
`public` | # `reload( mixed $filePath )` #### Implementation of `phpMorphy_Shm_Cache_Interface::reload()`
`public` | # `reloadIfExists( mixed $filePath )` #### Implementation of `phpMorphy_Shm_Cache_Interface::reloadIfExists()`
`public` | # `free( )` #### Implementation of `phpMorphy_Shm_Cache_Interface::free()`
`public` | # `getFilesList( )`
`protected` | # `createFileDescriptor( mixed $result )`
`protected` | # `openFile( mixed $filePath )`
`protected` | # `lock( )`
`protected` | # `unlock( )`
`protected` | # `getFilesOffset( )`
`protected` | # `getMaxOffset( )`
`protected` | # `saveFile( mixed $fh, mixed $offset )`
`protected` | # `getSegment( mixed $segmentId, mixed $segmentSize )`
`protected` | # `initHeaderObject( mixed $shmId, mixed $lock = true )`
`protected` | # `readHeader( )`
`protected` | # `writeHeader( mixed $shmId, `phpMorphy_Shm_Header` $header )`
`protected` | # `createHeader( mixed $shmId )`
`protected` | # `openSegment( mixed $segmentId, mixed $size, mixed & $new = null )`

### Magic methods summary

## Constants summary

`integer` | `DEFAULT_MODE` | `0644` | #
`integer` | `READ_BLOCK_SIZE` | `8192` | #

## Properties summary

`protected static mixed` | $EXTENSION_PRESENT | #
`protected mixed` | $options | #
`protected mixed` | $semaphore | #
`protected mixed` | $segment | #

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -