Re: strengths and weaknesses of Gnutella; was: Gnutella 3
[email protected] Sat, 27 Feb 2010 09:29:50 +0000 (UTC)
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Organization | Home, Grenoble, France |
| Message-ID | <[email protected]> |
Quoting Arne Babenhauserheide <[email protected]> from ml.gnutella.dev-forum: :Am Samstag, 27. Februar 2010 00:51:02 schrieb [email protected]: :> One of the shortcomings of Gnutella 1.0 that I would like to see addressed :> is a standard way to query by regular expression, and not just the file :> name but also the available meta data. : :That was one of the things I wanted to address by using HTTP PUSH: signifying :the type of query in a header, so it would be trivial to add a new query type. : :Can't gtkg simply add regexp as GGEP extension which will only be used by :nodes which support it? Of course it could, but then it would be yet another piece of line noise. The real problem is that of agreeing on search semantics. For instance, if I search for "foo bar" today in Gnutella, I may get "foo.data" and "bar.data" out of some servents, which is wrong. From gtk-gnutella you would only get "foo_bar.data" or "bar_foo.data", but both words would need to be present. I guess this is another strong argument for having a standard library that would implement the low level semantics. The challenge would then be to get people to implement the library in various languages (for instance a java library is totally useless to me) and make sure that all library implementations conform to a standard. However, let's this right now: I'm not a big fan of 3rd-party libraries unless they are very well written or unavoidable. For instance, gtk-gnutella depends only on a few libraries: GTK, glib, xml2, zlib, tls and of course, c. Everything else was written by the developers. We even wrote replacements of badly written library functions or functions not fitting our needs (one example that comes to mind here is malloc()). Cheers, Raphael