J'écris un serveur proxy HTTP dans Netty.Comment faire pour que 'channelRead' soit appelé une fois après chaque 'read' dans Netty
Je voudrais channelRead
seulement être tiré au plus une fois après que j'appelle read
- et à aucun autre moment. En d'autres termes, je ne veux pas channelRead
de tirer jusqu'à ce que je suis prêt pour le message.
J'ai défini AUTO_READ=false
. J'appelle ctx.read()
une fois dans channelActive
(et nulle part ailleurs).
Cependant, pour une curl http://localhost:8080/
, les deux incendies gestionnaire channelRead
de base:
io.netty.handler.codec.http.DefaultHttpRequest
io.netty.handler.codec.http.LastHttpContent$1
Comment puis-je empêcher LastHttpContent
d'arriver jusqu'à ce que j'appelle ctx.read()
pour la deuxième fois?
j'ai trouvé la solution: 'FlowControlHandler': « Le 'FlowControlHandler' assure que seul un message par' lire () 'est envoyé en aval." ... va vérifier après le dîner: D –