Search Description: Difference between revisions

From Gnutella2
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:


/[[Q2]] - Gnutella2 Query
/[[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)

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)