Share

Suicide Gnutella Client

File Release Notes and Changelog

Release Name: Suicide.NET 0.11

Notes:
Suicide NET readme


This code is presented so others may benefit from my work.  This is a pet project so anyone interested may contribute and my contributions will be intermittent. 


How to compile:

I use NUnit, a testing software package.  It’s free, open source and works very well.  The program will not compile without it.  There are two ways to get this to work; either install it from the web site www.nunit.org or use the included dlls.  If you install it your self you will need to make a copy of nunit-gui.exe and rename it to nunit-gui.dll, this is so the gui can be launched from code in the startup routine.

Once you open the project you need to add references to nunit-gui.dll and nunit.framework.dll.  After this, the project should be ready to compile.

Usage notes:

When it launches you will be asked if you want to test.  Click yes and you will get the NUnit gui where you can run all the 
tests in the system.  Some of them work intermittently.  But you should be all green, if not then run again, if they stay red 
then there is a problem, it’s up to you the co-developer to find and squash it.

If you select no for testing you will launch the program.  The interface is WEAK and simple.  The functionality if barely 
proof of concept.   But it should be enough for you too see how it’s done.  As the pong caching scheme seems to fail on 
finding good connections I strongly suggest you run another established client for Suicide.NET to connect to.   

The database is an Access database so you can open it and play with it.  The copy in the bin folder is the one that is used.

Auto-connect sucks.  I’m not sure why.  Please help :)


Codeing notes

As was mentioned earlier Nunit is used heavily for the non gui elements, please continue to do so.  It’s easy to learn and 

use and very helpful.  Especially when working on a section it’s useful to determine if you have damaged anyone else’s work.  

Some testing takes some creative thinking. There are a few dat files in the bin folder; these are used by the network tests.  

They contain the raw bit stream of real gnutella packets.  

I’ve tried to modularize everything I could.  I would like to continue this trend.  Also there is extensive use of 

namespaces, another feature I could like to see continued. 


ToDo:  

This is a long list. Here are some highlights
Downloads
Uploads
File Management
Separate the core and gui threads
And much much more

Here a current (ish) listing of the internal todo list


SuicideNET\Core\DebugTracer.vb(177): TODO: Load Line number here

SuicideNET\Interface\Form1.vb(321): TODO: Make this a ini file setting

SuicideNET\Interface\Form1.vb(326): TODO: This should probably be 
elsewhere (when we seperate core/gui it will go with core

SuicideNET\Network\Connection.vb(224): TODO: VENDOR BEAR HORIZON put real shareing number here

SuicideNET\Network\PacketTypes.vb(356): TODO: QUERY HIT Read extra QueryHit data

SuicideNET\Network\PacketTypes.vb(409): TODO: QUERY HIT Send additional Data on the end of QueryHits

SuicideNET\Network\PacketTypes.vb(539): TODO: QUERY SUBHIT Try and grab human readable extra data

SuicideNET\Network\PacketTypes.vb(623): TODO: BYE Bye tobytes

SuicideNET\Network\PongCache.vb(97): TODO: PONG CAHCE:  Send pong for all connections except C, to C

SuicideNET\Network\PongCache.vb(236): TODO: PONG CAHCE Check to see if I can accept connection, if Ping.ttl =1 send pong 

regardless

SuicideNET\Network\PongCache.vb(243): TODO: PONG CACHE Return Real amount of files

SuicideNET\Network\PongCache.vb(244): TODO: PONG CACHE Return Real size of files

SuicideNET\Support\NUNITTests.vb(27): TODO: TEST Rewrite this test

SuicideNET\Support\NUNITTests.vb(77): TODO: TEST Wrtie Query test

SuicideNET\Support\NUNITTests.vb(230): TODO: TEST Verify that pings get sent to other connections

SuicideNET\Support\NUNITTests.vb(231): TODO: TEST Implement then Test that PC send a pong for each connected client when 

ping.ttl = 2

SuicideNET\Support\NUNITTests.vb(367): TODO: TEST Write PongCache_RecPing_SendPing test

Changes:

0.10 Initial Release


0.11 11/14/02
* Trace overhaul
* Testing cleanup
* Documentation (what little there is)




Contact:

If you need to contact me you may do so at suicide.10.zelus@spamgourmet.com.  That is a self distructing e-mail from www.spamgourmet.com  so if it gets into the wrong hands (spam) it will expire.  If I do not respond in a timely manner try YOURNAME.10.zelus@spamgourmet.com and you should get through.  


Changes: