Class IMAPClientProtocolHandler

java.lang.Object
org.bluezoo.gumdrop.imap.client.IMAPClientProtocolHandler
All Implemented Interfaces:
ClientAppendState, ClientAuthenticatedState, ClientAuthExchange, ClientIdleState, ClientNotAuthenticatedState, ClientPostStarttls, ClientSelectedState, LineParser.Callback, ProtocolHandler

IMAP4rev2 client protocol handler (RFC 9051).

Implements a type-safe IMAP client state machine with staged callback interfaces constraining which operations are valid at each protocol stage. Tagged command tracking ensures exactly one command is in-flight at a time (RFC 9051 section 5.5).

Line parsing is handled by the composable LineParser utility. Incoming literal data (FETCH body sections) is tracked by LiteralTracker and streamed as ByteBuffer chunks.

Supported features:

  • STARTTLS — RFC 9051 section 6.2.1
  • SASL AUTHENTICATE with initial response — RFC 4959
  • IDLE — RFC 2177
  • NAMESPACE — RFC 2342
  • MOVE — RFC 6851
  • APPEND with literal streaming
Author:
Chris Burdess
See Also: