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.

Artikli relatati