Práctico 9 Ej. 2

Práctico 9 Ej. 2

de Nicolas Fabian Buero De La Fuente -
Número de respuestas: 2

Hola, me surgieron un par de dudas:

Por lo que entiendo, no debería preocuparme por desencolar en ningún momento, pero, ¿Qué pasa si se llena la cola? Sigo agregando mensajes de forma circular superponiendo los anteriores? ¿O debería detenerme antes?.

¿Puedo suponer que el texto de entrada será correcto? O tengo que checkear que no tenga el caracteres invalidos como por ejemplo "ETX" , y en caso de tener que revisar esto, y suceda que haya una entrada invalida, ¿debería descartar todo el mensaje o únicamente ignoro este carácter y sigo esperando el resto del texto?

Gracias de antemano

En respuesta a Nicolas Fabian Buero De La Fuente

Re: Práctico 9 Ej. 2

de Gustavo Brown -
El ejercicio pide que modeles una parte del sistema (la parte que "produce" datos en la cola circular), pero no pide ni explica cómo se consumen luego los datos allí colocados. Es una máquina no dedicada así que podes suponer que hay otro subsistema consumiendo los datos.
Tampoco dice que hay que hacer si se desborda (llena) la cola, pero por cómo está estructurada la misma (hay un campo para indicar la cantidad de caracteres) parece más adecuado sobreescribir los datos si se desborda. 

Sobre los caracteres "invalidos" (ejemplo llega un caracter ETX sin haber recibido un STX) podes ignorarlos, O sea, ir descartando todo hasta que recibas STX nro_canal, y si te llega un nro_canal inválido volver a esperar a que llegue otra secuencia STX nro_canal y ahí ir poniendo en la cola (si el canal es distinto de 0) hasta recibir el ETX

Saludos,
   Gustavo