Quindi, un altro giorno di debug e infine ho una spiegazione.
1) I SAEA non stavano sparando l'evento completato perché non erano in grado di inviare di più. Ciò è rivelato da Wireshark a causa dello svuotamento della finestra TCP. (TCP Zerowindow)
2) La finestra TCP si stava svuotando perché il livello di networking stava passando un evento sullo stack che impiegava troppo tempo per essere completato, cioè non esiste un produttore/consumatore tra il livello di rete e l'interfaccia utente. Pertanto, l'OP di rete dovrebbe attendere il sorteggio dello schermo prima di inviare l'ACK.
3) L'evento che ha richiesto troppo tempo è stato un sorteggio sullo schermo in un gestore di eventi sulla GUI. L'impianto di prova era una finestra di console (una che ha riassunto i messaggi in arrivo), quindi è per questo che non ha causato un problema a carico molto più elevato. È normale non ridisegnare lo schermo su ogni messaggio, ma ciò stava accadendo perché il progetto non è ancora del tutto fatto. Il tasso di ridisemo sarebbe stato risolto in seguito.
4) La soluzione a breve termine è semplicemente quella di assicurarsi che non ci siano GUI che reggono lo spettacolo. Una soluzione più solida potrebbe essere quella di creare un produttore/consumatore nel livello di rete.