add IMAPIdleClient actor with IDLE loop, reconnect backoff, re-IDLE timer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-14 13:38:39 +01:00
parent 3ea88f6402
commit 1cbe09c443
4 changed files with 253 additions and 2 deletions
@@ -4,7 +4,7 @@ import NIOIMAP
// NIO handlers are confined to their event loop; @unchecked Sendable is the
// standard pattern for crossing the actor/event-loop boundary.
final class IMAPResponseHandler: ChannelInboundHandler, @unchecked Sendable {
final class IMAPResponseHandler: ChannelInboundHandler, RemovableChannelHandler, @unchecked Sendable {
typealias InboundIn = Response
private var buffer: [Response] = []