Ciao Forum,
Poiché mi serviva una coda per bufferizzare la seriale, trattandosi di singoli byte e di una quantità di elementi molto variabile (fossi stato certo di un limite superiore ovviamente tutto sarebbe stato banale) ho pensato di implementare la coda come una lista concatenata di blocchi di bytes più dati ausiliari. In pratica la mia struttura dati contiene un array di bytes, i puntatori ai blocchi precedente e successivo (so che si può fare con uno solo ma sono abituato così) e gli indici che delimitano la parte di blocco effettivamente usata. Se devo estrarre il primo elemento lo copio e diminuisco l'indice superiore, se il blocco si svuota viene deallocato, se il primo blocco ha indice zero ne alloco uno nuovo e lo inserisco a inizio lista, e così via.
Il tutto mi funziona apparentemente bene ma non essendo io un ingegnere del software non sono certo di aver creato una serie di test abbastanza esaustiva da farmi escludere bachi. Dato che il mio progetto sta diventando un po' grande ho paura che un baco in parti a basso livello possa passarmi inosservato e farmi cercare a vuoto.
Dunque, la domanda è: implementazioni come quella che ho messo in piedi, si fanno o è una soluzione goffa? E nel caso, che nome hanno così posso cercare in rete? Esistono che voi sappiate librerie con relativa test suite? Magari potrei tentare qualche confronto.
grazie e ciao!
A.