Added writeVoidPromise, writeAndFlushVoidPromise to ChannelGroup - Issue #3127 #4478
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added
writeVoidPromise
,writeAndFlushVoidPromise
methods toChannelGroup
andDefaultChannelGroup
Motivation:
Reduce Objects and GC by option. Give the option to developers to be able to choose to
Channel.voidPromise()
when making group writes. This will reduce object creation forChannelGroup
writes and writeAndFlush's by adding additional methods which add theChannel.voidPromise()
into theChannel.write()
portion of the method.Modifications:
ChannelGroup.class - Added new methods to the interface along with documentation to the regular method and addition documentation specificly the purpose of the new methods.
DefaultChannelGroup.class - Now implements these new interface methods in the utilizing the existing write and writeAndFlush method by coping them and then adding Channel.voidPromise() to the two methods that actually have the write logic.
Result:
Netty.io API users will now be able to use
DefaultChannelGroup.writeVoidPromise();
andDefaultChannelGroup.writeAndFlushVoidPromise();
, and be able to save on object creation and GC when not caring about the FuturePromise.closes #3127