Stampi mhux kompluti permezz ta' proxy: iċċekkja t-tlestija tal-kitba ta' Netty
Meta l-istampi jaslu mhux kompluti permezz ta' proxy, iċċekkja jekk l-oriġini tagħlaqx il-kanal Netty tiegħu qabel ma titlesta l-kitba asinkronika tar-risposta.
Stampa taħdem fuq konnessjoni diretta mgħaġġla, iżda hija mhux kompluta permezz ta' proxy forward aktar bil-mod. Kawża possibbli waħda hija li l-oriġini tagħlaq il-konnessjoni waqt li r-risposta tiegħu għadha qed tinkiteb.
L-I/O ta' Netty huwa asinkroniku. Li tirritorna minn writeAndFlush ma jfissirx li dik l-operazzjoni tlestiet. Għalhekk dan l-ordni mhuwiex sigur għal risposta li għad għandha bytes fil-kju:
ctx.writeAndFlush(response);
ctx.close();
Meta l-iskambju HTTP jingħalaq b'mod intenzjonat wara l-aħħar messaġġ ta' risposta tiegħu, waħħal l-għeluq mal-future ta' dik il-kitba:
ctx.writeAndFlush(finalResponseMessage)
.addListener(ChannelFutureListener.CLOSE);
Dan il-framment jassumi li r-risposta diġà nbniet u ġiet ifframejata b'mod korrett. Għal korp streamed, uża t-tlestija tal-aħħar messaġġ tiegħu, mhux il-kitba tal-headers tiegħu. Għal konnessjoni HTTP persistenti, iżżidx għeluq biss għax risposta spiċċat.
Eżamina l-falliment tal-future bħala parti mill-immaniġġjar normali tal-iżbalji tal-applikazzjoni. It-tlestija tinkludi falliment u kanċellazzjoni, għalhekk it-tlestija waħedha mhijiex riċevuta ta' kunsinna mill-browser.
Il-paragun utli huwa t-tul sħiħ tar-risposta u r-riżultat tal-kitba fuq kull mogħdija. Proxy jista' jbiddel il-ħin biżżejjed biex jiżvela żball eżistenti taċ-ċiklu tal-ħajja; il-preżenza tiegħu ma tippruvax li l-kompressur jew il-cache tiegħu rrema l-bytes.