in general, you want the handlers to be associated with exactly one channel for the callback notifications to be meaningful. so it’s often better to create them in the channelInitializer(_:)
closure. one client bootstrap can call it multiple times during connection setup.
an EventLoopPromise
is like a CheckedContinuation
. if you never complete the promise, the future will never return. the eventLoop
doesn’t associate the promise with the channel, and you haven’t passed the promise along to anything that could complete it.