gtk-gnutella-devel Digest, Vol 23, Issue 3

View: New views
1 Messages — Rating Filter:   Alert me  

gtk-gnutella-devel Digest, Vol 23, Issue 3

by gtk-gnutella-devel-request :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Send gtk-gnutella-devel mailing list submissions to
        gtk-gnutella-devel@...

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel
or, via email, send a message with subject or body 'help' to
        gtk-gnutella-devel-request@...

You can reach the person managing the list at
        gtk-gnutella-devel-owner@...

When replying, please edit your Subject line so it is more specific
than "Re: Contents of gtk-gnutella-devel digest..."


Today's Topics:

   1. Re:  DHT implementation in gtk-gnutella (Alex)
   2. Re:  DHT implementation in gtk-gnutella (Raphael Manfredi)
   3.  gtk-g compile failure (PROP_SERVENT_KUID) (Meelis Roos)
   4. Re:  gtk-g compile failure (PROP_SERVENT_KUID) (Raphael Manfredi)
   5. Re:  gtk-g compile failure (PROP_SERVENT_KUID) (Raphael Manfredi)
   6. Re:  gtk-g compile failure (PROP_SERVENT_KUID) (Alex)
   7.  Putting GTK Gnutella in Ubuntu Software Updates Channel
      (Peter Grin)
   8. Re:  Putting GTK Gnutella in Ubuntu Software Updates Channel
      (Christian Biere)
   9. Re:  Putting GTK Gnutella in Ubuntu Software Updates Channel
      (Brad Campbell)


----------------------------------------------------------------------

Message: 1
Date: Mon, 7 Jul 2008 09:49:14 +0000
From: Alex <alex@...>
Subject: Re: [gtk-gnutella-devel] DHT implementation in gtk-gnutella
To: gtk-gnutella-devel@...
Message-ID: <20080707094914.GD5059@...>
Content-Type: text/plain; charset=us-ascii

On Fri, Jul 04, 2008 at 08:24:39PM +0200, Raphael Manfredi wrote:
> Hello Gnutella fans,
>
> I want to inform you that I have begun yesterday the implementation of
> the DHT for gtk-gnutella, in a way that I hope will be compatible with
> LimeWire's.
>
> The Kademlia implementation itself is complex but should be rather
> straightforward.

I was confused when I first read this as my initial contact with DHT's
was for bittorrent. Having read the wiki page on Kademlia it seems
like a generic way of spreading queries for a given "hash/content id"
in a more efficient manner.

Does this mean DHT will replace the normal Gnutella search queries?

What about searching by keyword? It seems everything is becoming
content addressed now which is useful as hashes are unambiguous.
However finding out what hashes you want is still at the mercy of the
normal Gnutella network?

--
Alex, homepage: http://www.bennee.com/~alex/
<Knghtbrd> I can think of lots of people who need USER=ID10T someplace!



------------------------------

Message: 2
Date: Mon, 7 Jul 2008 13:30:47 +0200
From: Raphael Manfredi <Raphael_Manfredi@...>
Subject: Re: [gtk-gnutella-devel] DHT implementation in gtk-gnutella
To: Alex <alex@...>
Cc: gtk-gnutella-devel@...
Message-ID: <20080707113047.GA7112@...>
Content-Type: text/plain; charset=us-ascii

Quoting Alex:
: Does this mean DHT will replace the normal Gnutella search queries?

Not at all.

The DHT will offer a structured space to search efficiently for unique IDs.

The plan is to use the DHT to perform SHA1 lookups (and push-proxy lookups
for firewalled hosts) only.

SHA1 queries will no longer be sent on Gnutella connections.  LimeWire does
not route them anymore in any case, so it is just a waste as it will be
stopped when you hit a LimeWire ultrapeer.

SHA1s will be removed from all QRP tables, leaving only keywords in there.

: What about searching by keyword? It seems everything is becoming
: content addressed now which is useful as hashes are unambiguous.
: However finding out what hashes you want is still at the mercy of the
: normal Gnutella network?

Searching by keyword will continue to use Gnutella's network.

So in the near future, we will have two separate structures for searching.

There is still one problem though.  Publishing a SHA1 entry in the DHT
requires at least 20 RPCs.  On Kademlia, the header is 61 bytes and the
payload for STORE operations is at least 61 bytes as well.  That means
you need to send at least 2440 bytes through UDP per SHA1 entry, every 24
hours (not counting UDP/IP overhead).

So the publishing of information in the DHT costs you, plus it will cost
that much traffic for replicating the value for one of the nodes storing
the value, every hour.

Querying the DHT for a value (i.e. a GET operation) is also not an innocent
task. You need to look for the closest nodes (average 4 FIND_NODES,
which mean 61+20 bytes of traffic sent and 61+405 = 466 bytes * 4 = 1864
bytes of traffic received) and then you can issue your GET operations when
you know close neighbours to the key.

It is therefore hard to let all Ultrapeers proxy SHA1 searches: leaves have
to do that by themselves, which also means they'll need to actively participate
to the DHT as well.

I have no idea what the average DHT traffic will be.

Raphael



------------------------------

Message: 3
Date: Fri, 11 Jul 2008 12:05:50 +0300 (EEST)
From: Meelis Roos <mroos@...>
Subject: [gtk-gnutella-devel] gtk-g compile failure
        (PROP_SERVENT_KUID)
To: gtk-gnutella-devel@...
Message-ID: <Pine.SOC.4.64.0807111131460.4303@...>
Content-Type: TEXT/PLAIN; charset=US-ASCII

Trying to compile todays SVN snapshot...

Continuing in src/dht...
/bin/rm -f routing.o
cc -c -I../.. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DCORE_SOURCES -DCURDIR=src/dht -O2 -g -W -Wall -Wformat=2 -Wshadow -momit-leaf-frame-pointer -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe  routing.c
routing.c: In function 'dht_route_init':
routing.c:117: error: 'PROP_SERVENT_KUID' undeclared (first use in this function)
routing.c:117: error: (Each undeclared identifier is reported only once
routing.c:117: error: for each function it appears in.)

--
Meelis Roos (mroos@...)



------------------------------

Message: 4
Date: Fri, 11 Jul 2008 10:54:55 +0000 (UTC)
From: Raphael_Manfredi@... (Raphael Manfredi)
Subject: Re: [gtk-gnutella-devel] gtk-g compile failure
        (PROP_SERVENT_KUID)
To: gtk-gnutella-devel@...
Message-ID: <g57e5v$mmd$1@...>
Content-Type: text/plain; charset="iso-8859-1"

Quoting Meelis Roos <mroos@...> from ml.softs.gtk-gnutella.devel:
:Continuing in src/dht...
:/bin/rm -f routing.o
:cc -c -I../.. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
:-DCORE_SOURCES -DCURDIR=src/dht -O2 -g -W -Wall -Wformat=2 -Wshadow
:-momit-leaf-frame-pointer -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
:-D_FILE_OFFSET_BITS=64 -pipe  routing.c
:routing.c: In function 'dht_route_init':
:routing.c:117: error: 'PROP_SERVENT_KUID' undeclared (first use in this function)
:routing.c:117: error: (Each undeclared identifier is reported only once
:routing.c:117: error: for each function it appears in.)

Rats...

I submitted the prop change without updating the DHT code.  Unfortunately,
I started to edit routing.c slightly and the version I have currently
does not compile.

The easiest is to revert this name change for now in SVN.  Will do immediately.

Raphael



------------------------------

Message: 5
Date: Fri, 11 Jul 2008 12:48:49 +0000 (UTC)
From: Raphael_Manfredi@... (Raphael Manfredi)
Subject: Re: [gtk-gnutella-devel] gtk-g compile failure
        (PROP_SERVENT_KUID)
To: gtk-gnutella-devel@...
Message-ID: <g57krh$bre$1@...>
Content-Type: text/plain; charset="iso-8859-1"

Quoting Meelis Roos <mroos@...> from ml.softs.gtk-gnutella.devel:
:routing.c: In function 'dht_route_init':
:routing.c:117: error: 'PROP_SERVENT_KUID' undeclared (first use in this function)

Fixed in SVN 15414.

Raphael



------------------------------

Message: 6
Date: Mon, 14 Jul 2008 15:29:41 +0000
From: Alex <alex@...>
Subject: Re: [gtk-gnutella-devel] gtk-g compile failure
        (PROP_SERVENT_KUID)
To: gtk-gnutella-devel@...
Message-ID: <20080714152941.GI5059@...>
Content-Type: text/plain; charset=us-ascii

On Fri, Jul 11, 2008 at 10:54:55AM +0000, Raphael Manfredi wrote:
> Rats...
>
> I submitted the prop change without updating the DHT code.  Unfortunately,
> I started to edit routing.c slightly and the version I have currently
> does not compile.

Some might say this is a limitation of SVN. However to counter I've
started using git-svn to track gtkg's tree while being able to do
multiple branches of development without having to have multiple
trees.

--
Alex, homepage: http://www.bennee.com/~alex/
Treaties are like roses and young girls -- they last while they last.
                -- Charles DeGaulle



------------------------------

Message: 7
Date: Wed, 9 Jul 2008 16:09:25 -0700 (PDT)
From: Peter Grin <transitinfo@...>
Subject: [gtk-gnutella-devel] Putting GTK Gnutella in Ubuntu Software
        Updates Channel
To: gtk-gnutella-devel@...
Message-ID: <329387.53419.qm@...>
Content-Type: text/plain; charset=us-ascii

I downloaded your latest verson of GTK Gnutella 0.96.5 but I cannot get it installed.  I have downloaded and installed other programs from the internet in the past but most programs I simply download from the "add/remove software" feature found in Ubuntu.  Ubuntu also has a program called Update Manager, which updates all my software along with my operating system (unlike windows update manager which only updates the operating system).  Normally I get all my updates this way, but those that do not update this way do update via Synaptic Package Manager.  Can one of your developers put the latest version of Gnutella 0.96.5 into the Ubuntu software channels so that I may upgrade to the latest version.  Thank you for your time



------------------------------

Message: 8
Date: Sat, 19 Jul 2008 19:54:29 +0200
From: Christian Biere <christianbiere@...>
Subject: Re: [gtk-gnutella-devel] Putting GTK Gnutella in Ubuntu
        Software Updates Channel
To: Peter Grin <transitinfo@...>
Cc: gtk-gnutella-devel@...
Message-ID: <20080719175429.GB1019@cyclonus>
Content-Type: text/plain; charset=utf-8

Peter Grin wrote:
> I downloaded your latest verson of GTK Gnutella 0.96.5 but I cannot
> get it installed.

Have you followed the instructions in README.Debian? It's not the
way of the Ubuntu but should work as well.

> I have downloaded and installed other programs from
> the internet in the past but most programs I simply download from the
> "add/remove software" feature found in Ubuntu.  Ubuntu also has a
> program called Update Manager, which updates all my software along
> with my operating system (unlike windows update manager which only
> updates the operating system).  Normally I get all my updates this
> way, but those that do not update this way do update via Synaptic
> Package Manager.

gtk-gnutella 0.96.5 is in Ubuntu "intrepid" - whatever that means.

> Can one of your developers put the latest version of
> Gnutella 0.96.5 into the Ubuntu software channels so that I may
> upgrade to the latest version.  Thank you for your time

I'm afraid, the developers of gtk-gnutella can't do this. It's
the job of the distributor, in this case Ubuntu, to manage the
packages. You could ask on the Ubuntu forums or request an
update directly from Ubuntu.

--
Christian



------------------------------

Message: 9
Date: Sun, 20 Jul 2008 10:37:04 +0400
From: Brad Campbell <brad@...>
Subject: Re: [gtk-gnutella-devel] Putting GTK Gnutella in Ubuntu
        Software Updates Channel
To: gtk-gnutella-devel@...
Cc: Peter Grin <transitinfo@...>
Message-ID: <4882DD10.3080005@...>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Christian Biere wrote:
> Peter Grin wrote:
>> I downloaded your latest verson of GTK Gnutella 0.96.5 but I cannot
>> get it installed.
>
> Have you followed the instructions in README.Debian? It's not the
> way of the Ubuntu but should work as well.
>

I track gtk-gnutella svn here (for debian and ubuntu).
It is incredibly easy.

grab the latest tree with subversion (as per the instructions on sourceforge).

Do this bit once..
"apt-get build-dep gtk-gnutella" (this will install all the bits required to build the source.

cd into the source directory and do
"fakeroot debian/rules binary"

This will build a debian package for you in the directory above the source dir.
dpkg -i <the .deb file it creates> and you are done.

To update you cd into the source dir and do "svn up" then
"fakeroot debian/rules binary".
cd ..
"dpkg -i <the .deb file it creates>"

rinse..lather..repeat..
It's incredibly easy and I've not had it break in the several years I've been doing it this way.

This works for debian or ubuntu, and in fact the .deb packages I create on debian stable install
perfectly under the latest ubuntu for me.

It makes a very clean package and does not clutter up your system.
If you ever want to go back to the ubuntu (or debian) supplied version then

"apt-get install --reinstall gtk-gnutella" will do that for you just fine.


--
Dolphins are so intelligent that within a few weeks they can
train Americans to stand at the edge of the pool and throw them
fish.



------------------------------

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

------------------------------

_______________________________________________
gtk-gnutella-devel mailing list
gtk-gnutella-devel@...
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel


End of gtk-gnutella-devel Digest, Vol 23, Issue 3
*************************************************