8e72071d76
Motiviation: In the past we allowed to use different EventExecutors for different ChannelHandlers in the ChannelPipeline. This introduced a lot of complexity while not providing much gain. Also it made the pipeline racy in terms of adding / remove handlers in some situations. This feature is not really used in the wild and can be easily archived by offloading heavy logic to an Executor by the user itself. Modifications: - Remove the ability to provide custom EventExecutor when adding handlers to the pipeline. - Remove testcode that is not needed any more - Ensure a handler is correctly visible in the pipeline when asked for it by the user while not be used until the EventLoop runs. This ensures correct ordering and visibility. - Correctly remove ChannelHandlers from pipeline when scheduling of handlerAdded(...) callbacks fail. Result: Remove races in DefaultChannelPipeline and simplify implementation of AbstractChannelHandlerContext. |
||
---|---|---|
.. | ||
bootstrap | ||
channel |