Search Description: Difference between revisions

From Gnutella2
Jump to navigation Jump to search
(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 nad the querying party itself. Therfore a client SHOULD NOT send any more queries after he has received about 100 results. The client should also not send too many query packets at the same time
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)