asimap
asimap copied to clipboard
when doing commands like `select` and `unselect` where the mbox does the pushes, move those pushes to the client.py module
We should put the logic of pushing messages to the client in to the client module instead of the mbox module.
Select is a good example of this: we only need the read lock to get the data. Once we get the data return it to the client module, exit the mbox read lock, and push the responses back to the IMAP Client.