Sto mantenendo un file mappato in memoria per memorizzare il mio albero come la struttura dati.
Quando aggiorno la struttura dati, ho riscontrato questo problema. Il file è limitato sulle sue dimensioni e non può essere troppo lungo o troppo piccolo.
Ho metodi come
void mapfile_insert_record(RECORD* /* record*/);
void mapfile_modify_record(RECORD* /* record*/);
Entrambe le operazioni potrebbero portare a superare lo spazio che è gratuito sul file di memoria.
Come posso superare questo? Quale strategia dovrei usare.
- calcola se è necessario superare il file come pre-condizione su entrambi metodi.
- Eccola dinamicamente, per esempio gestisci un timer e un file di polling costante per la sua dimensione disponibile gratuita e quindi estendere automaticamente.
Qualche idea o modello per superare questo problema?