Hi Jan and Caspar (GSoC mentors) and everyone else,

I started orienting myself towards the SMTP rewrite task. I dived into the code of the current qwwsmtpclient, to find out how it talks with the rest of the code.I have a couple of doubts and maybe can use some guidance here:

1. I have proposed implementing the SMTP client using Qt's state machine framework, for the SMTP interaction is very well modelled as a finite state machine. This feels quite experimental, but I haven't yet found any reason why I shouldn't use these classes to design the client. I however might have many stones unturned at this stage, and hence request comment on this design choice.

2. From where should I start?
Jan suggested TDD when the proposal was written and I read articles about this practise and I am very excited to go the TDD way. Now to get even the basic thing started, there are two tasks: A) Treat the qwwsmtpclient as a blackbox, and make it use Streams::IODeviceSocket::readLine() instead of its own instance of QSslSocket's readLine(). And, B) Treat the SMTP client as a white box, and replace the internal logic with a totally new design -- the one implemented with Qt's state machine classes. I understand A will be done first, and followed by B. But I don't yet have a crystal clear plan. Being honest, this is new for me (specially the TDD). I'd rather take your (mentors) help here in assigning the tasks that can get me started and have something working by the time it's end of two weeks. 3. While I do keep looking for good articles/guides, I'd be happy to know any resources that can help me with designing/writing the SMTP parts and testing them. (Even if for reading outside of the GSoC coding time every day). I'd be more than thankful, as I will be able to have a reference that I can ping more frequently than I'd like to ping humans. :)
Some resources that I am already refering:
[1] rfc5321 (SMTP)
[2] This thread on the ML: http://thread.gmane.org/gmane.mail.trojita.general/61/focus=62 [3] This quick protocol reference: http://www.networksorcery.com/enp/protocol/smtp.htm


Thanks in advance for any time you spend to help me with this!

Best Regards,
Karan Luthra

Reply via email to