poniedziałek, 20 sierpnia 2012

Work summary

  As the GSoC is comming to an end, it's time to make a final summary of what's been done so far and what may be missing. It's been about a month since Java implementation of PseudoTCP had been commited to Ice4j's repository. From that time I've discovered miscellaneous bugs and I kept on fixing them. I am also very happy that some people started using things I've done. That is really motivating.
  Later I started working on file transfers between the Jitsi and the Google Talk. It required from me to learn about Jabber and XMPP, how all that stuff works. Also at the middle stage of transfer process there is ICE protocol involved which was causing me some troubles, but allowed me to learn even more. Finally I've managed to transfer succesfully files between both clients. Thanks to that I've found and fixed even more bugs in protocol's implementation. It looks that it works stable now, but for sure I can't say that it's a mature project.
  About the things that are not done yet. First I'll have to finish the transfer as now it's implemented only in one direction. I hope that it won't take too much as now I know how all that stuff works and there are less things that can surprise.
  Regards the protocol there is missing a closing procedure. The bad thing is that I can not just add it to my implementation as there are client apps that already use current version of the protocol. For now the only way to get around this issue is to have another method of notifying about transfer end. In file transfer which I've mentioned, we know the file size before the transfer because of the signaling protocol(Jabber/XMPP). Another method is to use some protocol in communication like HTTP where double CRLF means end of request/response and before content transfer we are informed about expected size. This is how multiple files are being transfered in as single sharing session with Google Talk client.
  There may be also few other things that need to be done or improve, but that is what will come with time. I'd like also write a few words about my general experience with the GSoC. It is a great opportunity to see how the open source world works and how fun it can be. During that time I had an occasion to meet many interesting people and a pleasure to work with them. Special thanks to my mentor Emil Ivov and whole Jitsi team for help and assitance. Also I'd like to mention that thanks to Emil I had an opportunity to go to Strasburg and spend some time with part of the team. Thanks to Yana and Vincent for a great time there :)