我正在使用Netty 4.0.25Final编写Netty HTTP服务器。根据HTTP GET请求中的一些参数,我需要在管道中添加各种处理程序。
pipeline.addLast(new HttpRequestDecoder(4096, 8192, 8192, false),
new HttpResponseEncoder(),
new HttpObjectAggregator(1048576),
decisionHandler
);
如果来自同一连接的多个请求,将使用相同的管道。Request1可能需要Handler1,Request2可能需要Handler2,Request3可能需要Handler3。假设请求的顺序是Request1、Request2、Request3。Request1会修改管道以添加Handler1。
- 在后续调用中,我们是否总是需要检查管道是否已经被修改,然后删除不需要的处理程序?然后添加所需的处理程序,以处理该特定调用?
- 还是应该在转到下一个处理程序(fireChannelRead(object))之前删除处理程序?这会对性能产生影响吗?
- 还有其他方法吗?
Tanima