-
-
Notifications
You must be signed in to change notification settings - Fork 15.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Netty 5] DefaultChannelPromise / DefaultPromise threading #8517
Comments
This depends on #8513 |
It'd still be nice if we provide a way to suspend a channel from being handled by its event loop temporarily, so that a user can take the full control of the channel when he or she wants to do something really low-level. |
@trustin yep that is the plan... It should just be impossible to change the |
Motivation: DefaultPromise requires an EventExecutor which provides the thread to notify listeners on and this EventExecutor can never change. We can remove the code that supported the possibility of a changing the executor as this is not possible anymore. Modifications: - Remove constructor which allowed to construct a *Promise without an EventExecutor - Remove extra state - Adjusted SslHandler and ProxyHandler for new code Result: Fixes #8517.
Motivation: DefaultPromise requires an EventExecutor which provides the thread to notify listeners on and this EventExecutor can never change. We can remove the code that supported the possibility of a changing the executor as this is not possible anymore. Modifications: - Remove constructor which allowed to construct a *Promise without an EventExecutor - Remove extra state - Adjusted SslHandler and ProxyHandler for new code Result: Fixes #8517.
Motivation: DefaultPromise requires an EventExecutor which provides the thread to notify listeners on and this EventExecutor can never change. We can remove the code that supported the possibility of a changing the executor as this is not possible anymore. Modifications: - Remove constructor which allowed to construct a *Promise without an EventExecutor - Remove extra state - Adjusted SslHandler and ProxyHandler for new code Result: Fixes #8517.
…se (#8996) Motivation: DefaultPromise requires an EventExecutor which provides the thread to notify listeners on and this EventExecutor can never change. We can remove the code that supported the possibility of a changing the executor as this is not possible anymore. Modifications: - Remove constructor which allowed to construct a *Promise without an EventExecutor - Remove extra state - Adjusted SslHandler and ProxyHandler for new code Result: Fixes #8517.
DefaultPromise
requires anEventExecutor
which provides the thread to notify listeners on.DefaultPromise
currently accounts for theEventExecutor
being able to change during its lifetime. This complicates the implementation ofDefaultPromise
and in many cases would violate assumptions of the listeners if the thread did change. If we are able to drop support for Channel deregister/re-register we can remove this complexity and improve the efficiency of this class (which provides the basis for asynchronous events in Netty).We would like to drop re-registration support which will also simplify promise to not worry about the
EventExecutor
changing.The text was updated successfully, but these errors were encountered: