fix IMAPIdleHandler thread safety: pass idleTag via init, clean up event loop group on reconnect
This commit is contained in:
@@ -16,14 +16,11 @@ final class IMAPIdleHandler: ChannelInboundHandler, RemovableChannelHandler, @un
|
||||
typealias InboundIn = Response
|
||||
|
||||
private let continuation: AsyncStream<IMAPIdleEvent>.Continuation
|
||||
private var idleTag: String?
|
||||
private let idleTag: String
|
||||
|
||||
init(continuation: AsyncStream<IMAPIdleEvent>.Continuation) {
|
||||
init(continuation: AsyncStream<IMAPIdleEvent>.Continuation, idleTag: String) {
|
||||
self.continuation = continuation
|
||||
}
|
||||
|
||||
func setIdleTag(_ tag: String) {
|
||||
idleTag = tag
|
||||
self.idleTag = idleTag
|
||||
}
|
||||
|
||||
func channelRead(context: ChannelHandlerContext, data: NIOAny) {
|
||||
|
||||
Reference in New Issue
Block a user