hello guys:
First of all, let me introduce myself, I am the architect of easyMule2 project. I am sure that easyMule2 is rewriten completely.
As you known, there is very large amount of work to port existing emule code to other platform , aMule have done it prefectly, but the aMule code is based on emule. If I choose to base on the aMule architecture, there is almost impossible to add more protocols transfer function to the easyMule 2 project(such as bt/http/ftp), especially for BT protocol, which could package many files into one torrent task. so I decided to rewritten completely. In the development process, we use the ACE open-source object-oriented (OO) framework for cross-platform network communication (http://www.cs.wustl.edu/~schmidt/ACE.html ),use the wxWidgets (
http://wxwidgets.org/ ) for the UI layer develop,we have not use any GPL sourcecode .
Actually, easyMule2 is based on a P2P kernel architecture named "XPP", which has not only implemented ed2k protocol function, but also implemented HTTP,FTP,BT protocols. Based on this framework, we can very easy to extend more other protocol by static or dynamic plugin . The "XPP" framework is entirely different from emule or aMule.
Secondly, there are some viewpoint I must to explain.
* My suggestion was banning only easyMule 2 and the reason was GPL-Breaker. by wenzhishen:
There is no any proof to prove easyMule2 is GPL-Breaker, so i will list my sourcecode snap proof in the last part of this post.
* Why are they using a different clientID ? I think they should be returned as SO_EMULE since VeryCD is still just a mod. by Famerlor
Because easyMule2 is not a mod, it's completely rewriten, so we used a new clientID for the easyMule2.
At last , Now I will show some snapshot of easyMule2 project source code list:
Indeed, easyMule2 is based on a protocol transfer layer kernel named XPP, which can load protocol module by an dynamic method,ed2k is just one of p2p-protocol supported by XPP.
Picture1: source list of kernel ed2k protocol implement
Picture2: list of XPP kernel modules
Picture3: member list of TransferWithEd2k class, which is main protocol implement of ed2k
Picture4: all the protocols current easyMule2 implemented, also include BT protocol, but which is not public for beta test at this time;
This post has been edited by nightsuns: 09 December 2009 - 07:14 AM