-
Notifications
You must be signed in to change notification settings - Fork 22
More involved parsing #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This also applies to arguments. For example, the |
Would you be interested to cooperate with @djc on this? He has written another IMAP crate that supports |
If you're interested we can probably split the protocol data structures and parser out of tokio-imap so that they can more easily be reused. In terms of encoding, so far I've mostly used str slices, although I recently changed the parser so that it returns bytes for message contents (for the RFC822 FETCH attribute only so far). |
@djc That would be awesome! |
The imap-proto crate is now live on crates.io: https://crates.io/crates/imap-proto. |
Docs at https://docs.rs/imap-proto/0.1.0/imap_proto/. Not too wordy atm, but still useful. |
I probably won't work on the integration between rust-imap and imap-proto, but if people find gaps in imap-proto for stuff that rust-imap, I can have a look at those. |
@djc yeah, I wasn't expecting that you would, just wanted to comment for others watching this issue :) |
Filed djc/imap-proto#5 including a proposed solution. |
* First stab at structured types (#28) Tests currently fail due to djc/imap-proto#2. LSUB is also broken due to djc/imap-proto#4 (but we don't have tests for that atm). * Also parse out RFC822 fetch responses * Make all the things zero-copy * Also delegate IntoIterator for ZeroCopy ref * Fix UNSEEN and LSUB All tests now pass * Address @sanmai-NL comments * Correctly handle incomplete parser responses * No need for git dep anymore
Currently, all the commands simply return
Vec<String>
. It'd be great if they returned more semantically relevant results (i.e., fully parsed structs). This would also let us make the IDLE handle return anIterator
over said structs, so you could monitor changes to the mailbox in real-time.The text was updated successfully, but these errors were encountered: