Re: Using the DHT to find download sources
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Organization | Home, Grenoble, France |
| Message-ID | <[email protected]> |
Quoting pwang708 <[email protected]> from ml.gnutella.dev-forum: :FYI: in the current Mojito DHT implementation, different values can be :stored under the same key (primary key). Different values under the :same primary key can be identified by a secondary key. Mojito is a general purpose Java DHT API. It is not really suited to Gnutella, who will often have more than one value per key. That's why I dislike naming the Gnutella DHT "Mojito". The Gnutella DHT may reuse a lot of the internal design and message architecture from Mojito, but our discussion so far has shown than many things will also need to change. The Gnutella DHT will mostly store IP:port values under keys. When a user performs a GET on a key, the value returned should be a vector of IP:port. The user does not care who published which data in the DHT. It is the job of each Gnutella node participating in the DHT to internally track who published which IP:port value for a key and the different TTL for each of these values, but when returning a key value, it must aggregate all these IP:port values into a vector. In our first worlwide cross-vendor implementation of the Gnutella DHT, the only data type we're going to handle is the IP:port. We can of course leave the door open by making sure we can add other data types in the DHT, but retrieval should always contain an aggregate of the data stored under a key. Raphael