Commit graph

5 commits

Author SHA1 Message Date
Jim Nelson
42247df62b ClientSession improvements
Fleshed out the ClientSession state machine to follow the session state graph described by the IMAP specification.  ClientSession is now firmly a single-connection object that tracks the server state appropriately.  A higher-level class will need to be defined that manages multiple sessions (for when dealing with multiple folders, monitoring, etc.)
2011-05-06 13:19:32 -07:00
Jim Nelson
a43ab81fdf Improvements to Serializer and Deserializer
The input mode for Deserializer meant that the caller needed to manage the input stream and push data in an appropriate way; this is error-prone.  Now Deserializer manages the input stream and the modes it must be read from.  Serializer still works in a similar fashion as before, but now it deals with literal data more efficiently, writing it to the output stream directly (via splice_async()) rather than into the in-memory temporary buffer.  Serializable's serialize() method is now async, meaning that all serialization can occur asynchronously, which is how we want it going forward.
2011-05-04 17:20:17 -07:00
Jim Nelson
cbe3440fef Response.vala -> ServerResponse.vala 2011-04-14 01:16:40 +00:00
Jim Nelson
6433ebfa5b Further development building the layers of IMAP decode, connectivity, and session management. First-stab implementation of a preliminary Engine API. Tons of work to go and tons of clean-up to make what's here more robust and more efficient. 2011-04-14 01:15:05 +00:00
Jim Nelson
e3cab0804b Email client ho! 2011-04-11 23:16:21 +00:00