我使用netty 4.0.25Final编写一个netty HTTP服务器.我需要根据HTTP GET请求中的一些参数在管道中添加各种处理程序.
pipeline.addLast(new HttpRequestDecoder(4096, 8192, 8192, false),
new HttpResponseEncoder(),
new HttpObjectAggregator(1048576),
decisionHandler
);
Run Code Online (Sandbox Code Playgroud)
如果多个请求来自同一连接,则使用相同的管道.Request1可能需要Handler1,Request2可能需要Handler2而Request3可能需要Handler3.假设请求以Request1,Request2,Request3的形式出现.Request1将修改管道以添加Handler1.
在后续调用中,我们是否总是需要检查pipleline是否已被修改,然后删除不需要的处理程序?然后添加处理该特定调用所需的处理程序?
或者我应该在转到下一个处理程序(fireChannelRead(object))之前删除处理程序?它会对性能产生影响吗?
有没有其他方法可以做到这一点?
感谢和问候,
Tanima
netty ×1