Module Apache mod_slotmem_shm
Langues Disponibles: en |
fr
Sommaire
mod_slotmem_shm est un fournisseur de mémoire qui
permet la création et l'accès à un segment de mémoire partagée dans
lequel les ensembles de données sont organisés en "slots".
L'ensemble de la mémoire partagée est effacé à chaque
redémarrage, que ce dernier soit graceful ou non. Les données sont
stockées et restituées dans et à partir d'un fichier défini par le
paramètre name des appels create et
attach. Si son chemin absolu n'est pas spécifié, le
chemin du fichier sera relatif au chemin défini par la directive
DefaultRuntimeDir.
mod_slotmem_shm fournit les fonctions d'API suivantes
:
- apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
- appelle le callback pour tous les slots actifs
- apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
- crée un nouveau slot de mémoire dont chaque taille d'objet est
item_size.
name est utilisé pour générer le nom du fichier
permettant de stocker/restaurer le contenu de la mémoire partagée
si la configuration le spécifie. Les valeurs possibles sont :
"none"
Mémoire partagée anonyme et pas de stockage
persistant
"file-name"
[DefaultRuntimeDir]/file-name
Absolute file name
$absolute-file-name
- apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
- attache à un slot de mémoire existant. Voir
create pour la description du paramètre
name.
- apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
- obtient la mémoire associée à ce slot actif.
- apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
- lit la mémoire depuis ce slot et la transfère vers dest
- apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
- écrit dans ce slot la mémoire en provenance de src
- unsigned int num_slots(ap_slotmem_instance_t *s)
- renvoie le nombre total de slots contenus dans ce segment
- apr_size_t slot_size(ap_slotmem_instance_t *s)
- renvoie la taille totale des données, en octets, contenues
dans un slot de ce segment
- apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);
- alloue ou s'approprie le premier slot disponible et le marque comme utilisé (n'effectue aucune
copie de données)
- apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);
- force l'allocation ou l'attribution du slot spécifié et le marque comme utilisé (n'effectue aucune
copie de données)
- apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);
- libère un slot et le marque comme non utilisé (n'effectue aucune
copie de données)
Directives
Ce module ne fournit aucune directive.
Traitement des bugs
Voir aussi