refactoring of state machine now complete! works for single stream TCP only at the moment

This commit is contained in:
Brian Tierney 2009-11-06 02:19:20 +00:00
parent 8f4e66c9d0
commit 150a09e9e2
4 changed files with 11 additions and 6 deletions

View File

@ -161,7 +161,7 @@ add_interval_list(struct iperf_stream_result *rp, struct iperf_interval_results
}
else {
n = rp->interval_results;
while (n->next)
while (n->next) /* find the end of the list */
n = n->next;
n->next = ip;
@ -449,7 +449,7 @@ iperf_stats_callback(struct iperf_test *test)
struct iperf_stream_result *rp = test->streams->result;
struct iperf_interval_results *ip, temp;
//printf("in stats_callback: num_streams = %d \n", test->num_streams);
printf("in stats_callback: num_streams = %d \n", test->num_streams);
for (i = 0; i < test->num_streams; i++) {
rp = sp->result;

View File

@ -120,10 +120,11 @@ iperf_run_server(struct iperf_test * test)
{
struct timeval tv;
struct iperf_stream *np, *sp;
int j, result, message;
int j, result=0, message, cnt=0;
char *results_string = NULL;
printf("in iperf_run_server \n");
FD_ZERO(&test->read_set);
FD_SET(test->listener_sock_tcp, &test->read_set);
FD_SET(test->listener_sock_udp, &test->read_set);
@ -135,6 +136,7 @@ iperf_run_server(struct iperf_test * test)
test->default_settings->state = TEST_RUNNING;
printf("iperf_run_server: Waiting for client connect.... \n");
while (test->default_settings->state != TEST_END)
{
memcpy(&test->temp_set, &test->read_set, sizeof(test->read_set));

View File

@ -248,7 +248,7 @@ iperf_new_tcp_stream(struct iperf_test * testp)
sp->rcv = iperf_tcp_recv; /* pointer to receive function */
sp->snd = iperf_tcp_send; /* pointer to send function */
/* XXX: not yet written... */
/* XXX: not yet written... (what is this supposed to do? ) */
//sp->update_stats = iperf_tcp_update_stats;
return sp;

View File

@ -84,7 +84,8 @@ main(int argc, char **argv)
char ch, role;
struct iperf_test *test;
int port = PORT;
int port = PORT, cnt = 0;
struct iperf_stream *np;
#ifdef TEST_PROC_AFFINITY
/* didnt seem to work.... */
@ -207,6 +208,7 @@ main(int argc, char **argv)
exchange_parameters(test);
test->streams->settings->state = STREAM_BEGIN;
}
//printf("in main: calling iperf_run \n");
iperf_run(test);
iperf_free_test(test);
@ -219,6 +221,7 @@ main(int argc, char **argv)
int
iperf_run(struct iperf_test * test)
{
test->default_settings->state = TEST_RUNNING;
switch (test->role)
@ -227,8 +230,8 @@ iperf_run(struct iperf_test * test)
while (1)
{
iperf_run_server(test);
test->streams = NULL;
sleep(1);
//iperf_init_test(test); /* re-initialize everything */
}
return 0;
case 'c':