The mailbox protocol is used to read messages from a local folder berkeley mailbox. It consists of nsMailboxService, nsMailboxUrl, and nsMailboxProtocol. This may seem like a lot of infrastructure just to read messages from a flat file, but it allows us to do it asynchronously, and to have reading local messages fit into the same kind of mechanisms that reading nntp and imap messages do - running urls, getting onStart/StopRunningUrl notifications when the url starts/stops, etc.
The Mailbox protocol is also used to regenerate a summary file, in conjunction with nsMsgMailboxParser