One word of advice: if you find the code hard to understand, it is not
necessarily your fault. IMO the codebase is messy atm. If you have trouble with
any file, use "git log <path/to/file>" to find the previous people that worked
on it and go bug them to explain it to you in more human terms. They deserve it 
:p

X

On 27/03/12 10:21, Chetan Hosmani wrote:
> Hello,
> 
> I have been idling  on the IRC channel for quite some time now. The
> response from freenet is really good.
> 
> For my GSoC application I have been working on a proposal for the
> transport plugin. Although the response from freenet is "this is a
> very hard project", I have tried my best to understand the codebase of
> freenet and the exact purpose of this project. In particular I have
> spoken to Arnebab, toad_ and nextgens regarding this assignment and
> from them have gained a good insight on what needs to be done.
> 
> Based on their information and some research on the project this is my
> present standing. Some of it might still be incorrect.
> 
> Firstly Freenet presently runs extensively on UDP based sockets. The
> communication happens at several layers and with different mechanisms
> i.e sockets, streams, reliable packets, UDP, so on... The major
> problem is that the code has been integrated very tightly. For e.g.
> NodeCrypto class uses only UDPSocketHandler for communication. So this
> means that the data cryptography and communication at the transport
> layer (using UDP in this case) are grouped very tightly.
> 
> This means that a major refactoring of the code is needed. This task
> is supposed to be the hard part (where prior freenet experience is
> needed).
> Changes will definitely encompass refactoring - Node, NodeCrpyto,
> UdpSocketHandler and other related dependencies.
> For this I plan to do a very thorough research and practice on the
> core functionality of freenet way before the coding period begins, so
> I know the exact task at hand.
> I ll obviously be at the mercy of the community.
> 
> On the other hand a lot of work has been completed. For eg.
> implementations of OutgoingPacketMangler and IncomingPacketFIlter
> allow packets defined for any transport protocol. This is also
> mentioned here - "Last year's work on new packet format should really
> help although some transports (really small packets e.g. pretending to
> be Skype) will still need to do their own splitting/reassembly (this
> should probably happen within the node too, although it should be
> possible to turn it off). "
> Streams have better support: https://bugs.freenetproject.org/view.php?id=2214
> 
> Secondly once this is achieved, UDP will become an individual
> transport plugin and similarly the framework will support users to
> write their own transport plugin. Now this means the cryptography and
> packet modifications are done in a different level, and hence the
> developer need not bother about them. As part of the GSoC project I
> will be required to make this change and also in the process develop
> TCP transport plugin.
> Here I think I am more comfortable, and I think my existing knowledge
> of sockets should get me through.
> 
> Thirdly, some other objectives as toad_ mentioned as important,
> include ways to deal with having multiple connections open to the same
> peer at the same time. Presently haven't thought about this, and don't
> know that much about freenet for the exact need for this.
> 
> And apart from this (some confusion regarding this) is implementation
> of other application level protocols like HTTP, VoIP and so on. Now
> this can "become" easy if protocols like TCP are enabled. Also as
> mentioned in the project page is the ability for communications to
> pretend to be of other protocols. Again I believe it means that an
> example plugin needs to be developed.
> This part of the project would spill outside the deadline but it can
> get direct contribution from the community.
> 
> The application period has now started, so I ll be turning in mine.
> But I was hoping I could clarify a few things.
> 
> I know this is beyond what can be finished in three months. *Please
> give me your opinion on this proposal and what I should do. *
> 
> Also as nextgens mentioned, this project would be very hard for me, I
> would like to know if I should continue researching more or probably
> give something else a shot. I still have a week to go either way. But
> I am aware this requires a lot of effort and knowledge and I am ready
> for that. For now I will try and fix a bug.
> 
> Thank you
> 
> PS: Comments, including "you don't know shit" or "go watch TV" are welcome :)
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl


-- 
GPG: 4096R/5FBBDBCE
https://github.com/infinity0
https://bitbucket.org/infinity0
https://launchpad.net/~infinity0

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20120327/78733c38/attachment.pgp>

Reply via email to