diff -u http_load-12mar2006/http_load.c http_load-miker-0.1/http_load.c --- http_load-12mar2006/http_load.c 2006-03-12 11:17:03.000000000 -0800 +++ http_load-miker-0.1/http_load.c 2006-08-23 23:42:00.000000000 -0700 @@ -89,6 +89,10 @@ } url; static url* urls; static int num_urls, max_urls; +static int current_url; +#define URL_SELECTION_RANDOM 0 +#define URL_SELECTION_ORDERED 1 +static int url_selection; typedef struct { char* str; @@ -257,12 +261,16 @@ idle_secs = IDLE_SECS; start = START_NONE; end = END_NONE; + url_selection = URL_SELECTION_RANDOM; + while ( argn < argc && argv[argn][0] == '-' && argv[argn][1] != '\0' ) { if ( strncmp( argv[argn], "-checksum", strlen( argv[argn] ) ) == 0 ) do_checksum = 1; else if ( strncmp( argv[argn], "-throttle", strlen( argv[argn] ) ) == 0 ) do_throttle = 1; + else if ( strncmp( argv[argn], "-orderedurls", strlen( argv[argn] ) ) == 0 ) + url_selection = URL_SELECTION_ORDERED; else if ( strncmp( argv[argn], "-Throttle", strlen( argv[argn] ) ) == 0 && argn + 1 < argc ) { do_throttle = 1; @@ -372,6 +380,7 @@ /* Read in and parse the URLs. */ read_url_file( url_file ); + current_url = 0; /* Read in the source IP file, if specified. */ if ( sip_file != (char*) 0 ) @@ -800,7 +809,14 @@ if ( connections[cnum].conn_state == CNST_FREE ) { /* Choose a URL. */ - url_num = ( (unsigned long) random() ) % ( (unsigned int) num_urls ); + if ( url_selection == URL_SELECTION_RANDOM ) { + url_num = ( (unsigned long) random() ) % ( (unsigned int) num_urls ); + } else { + url_num = current_url++; + if ( current_url >= num_urls ) { + current_url = 0; + } + } /* Start the socket. */ start_socket( url_num, cnum, nowP ); if ( connections[cnum].conn_state != CNST_FREE ) @@ -1704,7 +1720,7 @@ if ( ! urls[url_num].got_bytes ) { urls[url_num].bytes = connections[cnum].bytes; - urls[url_num].got_bytes = 1; + urls[url_num].got_bytes = 0; } else { Only in http_load-miker-0.1: urls.txt