Wha't the difference between Channel#write(msg) and Channel#write(msg, promise)?
netty
Solution
ChannelPromise is a special writable ChannelFuture which get notified once the IO operation completes.
the method `Channel#write(msg)` will delegate to `Channel#write(msg, promise)` with a `DefaultChannelPromise` created by netty as the second parameter
Problem
I'm reading the Javadoc of Channel of Netty: http://netty.io/4.0/api/io/netty/channel/Channel.html But it doesn't explain anything about the difference between `Channel#write(msg)` and `Channel#write(msg, promise)`. What's the purpose of the `promise` in the 2nd method?