diff options
Diffstat (limited to 'src/cache.h')
-rw-r--r-- | src/cache.h | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/src/cache.h b/src/cache.h index dd37d92..d694e9b 100644 --- a/src/cache.h +++ b/src/cache.h @@ -14,12 +14,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - #pragma once +/******************************************************************************/ +/******************************************************************************/ +/* IMPLEMENTATION OF CACHE IN CLIENTS */ +/******************************************************************************/ +/******************************************************************************/ -struct cache; +/** opaque structure for cache */ typedef struct cache cache_t; +/** + * Search the stored value for the key + * @param cache the cache handler + * @param key the key to search + * @return the stored value or -ENOENT if not found + */ extern int cache_search( @@ -27,6 +37,16 @@ cache_search( const rcyn_key_t *key ); +/** + * Add the value for the key in the cache + * @param cache the cache handler + * @param key the key to cache + * @param value the value (must be an integer from -128 to 127) + * @param expire expiration date + * @return 0 on success + * -EINVAL invalid argument + * -ENOMEM too big for the cache size + */ extern int cache_put( @@ -36,6 +56,11 @@ cache_put( time_t expire ); +/** + * Clear the content of the cache if the cacheid doesn't match the current one + * @param cache the cache handler + * @param cacheid the cacheid to set or zero to force clearing + */ extern void cache_clear( @@ -43,6 +68,13 @@ cache_clear( uint32_t cacheid ); +/** + * + * @param cache pointer to the cache handler + * @param newsize new size to set to the cache + * @return 0 on success + * -ENOMEM not enough memory + */ extern int cache_resize( @@ -50,6 +82,13 @@ cache_resize( uint32_t newsize ); +/** + * + * @param cache pointer to the cache handler + * @param size size to set to the cache + * @return 0 on success + * -ENOMEM not enough memory + */ extern int cache_create( |