Search Description: Difference between revisions
(Query throttle chapter added,s hould there be a detailed description of how a search works on this page ?) |
|||
Line 8: | Line 8: | ||
== Query Throttle == | == Query Throttle == | ||
Querying the Gnutella2 network can lead to '''a lot''' of results, putting a resource strain on both the network as a whole | Querying the Gnutella2 network can lead to '''a lot''' of results, putting a resource strain on both the network as a whole and the querying party itself. Therfore a client SHOULD NOT send any more queries after he has received about 100 valid results. | ||
The client should also not send query packets at too high a rate. Results from a popular search can actually flood the client if care is not taken. An optimal solution would be to start the search at a fairly slow rate (perhaps 2 to 4 queries per second), and speed up if there are not sufficient results after 5 to 10 seconds. | |||
The maximum rate a client may send queries is 8 per second. This is a global limit, the total output of all running searches must not exceed this. | |||
A client should also pause a search after 2400 queries. (About 5 minutes) |
Latest revision as of 10:21, 26 October 2005
Introduction
The Gnutella2 object search mechanism defines a powerful query descriptor capable of specifying a number of different extensible search criteria, and requesting a subset of information about matching objects.
/Q2 - Gnutella2 Query
Query Throttle
Querying the Gnutella2 network can lead to a lot of results, putting a resource strain on both the network as a whole and the querying party itself. Therfore a client SHOULD NOT send any more queries after he has received about 100 valid results.
The client should also not send query packets at too high a rate. Results from a popular search can actually flood the client if care is not taken. An optimal solution would be to start the search at a fairly slow rate (perhaps 2 to 4 queries per second), and speed up if there are not sufficient results after 5 to 10 seconds.
The maximum rate a client may send queries is 8 per second. This is a global limit, the total output of all running searches must not exceed this. A client should also pause a search after 2400 queries. (About 5 minutes)