Lines Matching refs:sp
100 static int diskfile_send(struct iperf_stream *sp);
101 static int diskfile_recv(struct iperf_stream *sp);
103 static void print_interval_results(struct iperf_test *test, struct iperf_stream *sp, cJSON *json_in…
833 iperf_on_new_stream(struct iperf_stream *sp) in iperf_on_new_stream() argument
835 connect_msg(sp); in iperf_on_new_stream()
1773 iperf_check_throttle(struct iperf_stream *sp, struct iperf_time *nowP) in iperf_check_throttle() argument
1779 if (sp->test->done || sp->test->settings->rate == 0) in iperf_check_throttle()
1781 iperf_time_diff(&sp->result->start_time_fixed, nowP, &temp_time); in iperf_check_throttle()
1783 bits_per_second = sp->result->bytes_sent * 8 / seconds; in iperf_check_throttle()
1784 if (bits_per_second < sp->test->settings->rate) { in iperf_check_throttle()
1785 sp->green_light = 1; in iperf_check_throttle()
1786 FD_SET(sp->socket, &sp->test->write_set); in iperf_check_throttle()
1788 sp->green_light = 0; in iperf_check_throttle()
1789 FD_CLR(sp->socket, &sp->test->write_set); in iperf_check_throttle()
1837 register struct iperf_stream *sp; in iperf_send() local
1856 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_send()
1857 if ((sp->green_light && sp->sender && in iperf_send()
1858 (write_setP == NULL || FD_ISSET(sp->socket, write_setP)))) { in iperf_send()
1863 if ((r = sp->snd(sp)) < 0) { in iperf_send()
1871 if (!sp->pending_size) in iperf_send()
1874 iperf_check_throttle(sp, &now); in iperf_send()
1882 SLIST_FOREACH(sp, &test->streams, streams) in iperf_send()
1883 if (sp->sender) in iperf_send()
1884 iperf_check_throttle(sp, &now); in iperf_send()
1887 SLIST_FOREACH(sp, &test->streams, streams) in iperf_send()
1888 if (FD_ISSET(sp->socket, write_setP)) in iperf_send()
1889 FD_CLR(sp->socket, write_setP); in iperf_send()
1898 struct iperf_stream *sp; in iperf_recv() local
1900 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_recv()
1901 if (FD_ISSET(sp->socket, read_setP) && !sp->sender) { in iperf_recv()
1902 if ((r = sp->rcv(sp)) < 0) { in iperf_recv()
1908 FD_CLR(sp->socket, read_setP); in iperf_recv()
1919 struct iperf_stream *sp; in iperf_init_test() local
1931 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_init_test()
1932 sp->result->start_time = sp->result->start_time_fixed = now; in iperf_init_test()
1944 struct iperf_stream *sp = client_data.p; in send_timer_proc() local
1950 iperf_check_throttle(sp, nowP); in send_timer_proc()
1957 struct iperf_stream *sp; in iperf_create_send_timers() local
1964 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_create_send_timers()
1965 sp->green_light = 1; in iperf_create_send_timers()
1966 if (test->settings->rate != 0 && sp->sender) { in iperf_create_send_timers()
1967 cd.p = sp; in iperf_create_send_timers()
1968 sp->send_timer = tmr_create(NULL, send_timer_proc, cd, test->settings->pacing_timer, 1); in iperf_create_send_timers()
1969 if (sp->send_timer == NULL) { in iperf_create_send_timers()
2306 struct iperf_stream *sp; in send_results() local
2365 SLIST_FOREACH(sp, &test->streams, streams) { in send_results()
2372 …bytes_transferred = sp->sender ? (sp->result->bytes_sent - sp->result->bytes_sent_omit) : sp->resu… in send_results()
2373 retransmits = (sp->sender && test->sender_has_retransmits) ? sp->result->stream_retrans : -1; in send_results()
2374 cJSON_AddNumberToObject(j_stream, "id", sp->id); in send_results()
2377 cJSON_AddNumberToObject(j_stream, "jitter", sp->jitter); in send_results()
2378 cJSON_AddNumberToObject(j_stream, "errors", sp->cnt_error); in send_results()
2379 cJSON_AddNumberToObject(j_stream, "packets", sp->packet_count); in send_results()
2381 iperf_time_diff(&sp->result->start_time, &sp->result->start_time, &temp_time); in send_results()
2383 iperf_time_diff(&sp->result->start_time, &sp->result->end_time, &temp_time); in send_results()
2433 struct iperf_stream *sp; in get_results() local
2495 SLIST_FOREACH(sp, &test->streams, streams) in get_results()
2496 if (sp->id == sid) break; in get_results()
2497 if (sp == NULL) { in get_results()
2501 if (sp->sender) { in get_results()
2502 sp->jitter = jitter; in get_results()
2503 sp->cnt_error = cerror; in get_results()
2504 sp->peer_packet_count = pcount; in get_results()
2505 sp->result->bytes_received = bytes_transferred; in get_results()
2516 sp->result->receiver_time = j_end_time->valuedouble - j_start_time->valuedouble; in get_results()
2519 sp->result->receiver_time = 0.0; in get_results()
2522 sp->peer_packet_count = pcount; in get_results()
2523 sp->result->bytes_sent = bytes_transferred; in get_results()
2524 sp->result->stream_retrans = retransmits; in get_results()
2526 sp->result->sender_time = j_end_time->valuedouble - j_start_time->valuedouble; in get_results()
2529 sp->result->sender_time = 0.0; in get_results()
2659 connect_msg(struct iperf_stream *sp) in connect_msg() argument
2664 if (getsockdomain(sp->socket) == AF_INET) { in connect_msg()
2665 …inet_ntop(AF_INET, (void *) &((struct sockaddr_in *) &sp->local_addr)->sin_addr, ipl, sizeof(ipl)); in connect_msg()
2667 …inet_ntop(AF_INET, (void *) &((struct sockaddr_in *) &sp->remote_addr)->sin_addr, ipr, sizeof(ipr)… in connect_msg()
2669 lport = ntohs(((struct sockaddr_in *) &sp->local_addr)->sin_port); in connect_msg()
2670 rport = ntohs(((struct sockaddr_in *) &sp->remote_addr)->sin_port); in connect_msg()
2672 …inet_ntop(AF_INET6, (void *) &((struct sockaddr_in6 *) &sp->local_addr)->sin6_addr, ipl, sizeof(ip… in connect_msg()
2674 …inet_ntop(AF_INET6, (void *) &((struct sockaddr_in6 *) &sp->remote_addr)->sin6_addr, ipr, sizeof(i… in connect_msg()
2676 lport = ntohs(((struct sockaddr_in6 *) &sp->local_addr)->sin6_port); in connect_msg()
2677 rport = ntohs(((struct sockaddr_in6 *) &sp->remote_addr)->sin6_port); in connect_msg()
2680 if (sp->test->json_output) in connect_msg()
2681 …ToArray(sp->test->json_connected, iperf_json_printf("socket: %d local_host: %s local_port: %d r… in connect_msg()
2683 iperf_printf(sp->test, report_connected, sp->socket, ipl, lport, ipr, rport); in connect_msg()
2876 struct iperf_stream *sp; in iperf_free_test() local
2880 sp = SLIST_FIRST(&test->streams); in iperf_free_test()
2882 iperf_free_stream(sp); in iperf_free_test()
3009 struct iperf_stream *sp; in iperf_reset_test() local
3014 sp = SLIST_FIRST(&test->streams); in iperf_reset_test()
3016 iperf_free_stream(sp); in iperf_reset_test()
3137 struct iperf_stream *sp; in iperf_reset_stats() local
3143 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_reset_stats()
3144 sp->omitted_packet_count = sp->packet_count; in iperf_reset_stats()
3145 sp->omitted_cnt_error = sp->cnt_error; in iperf_reset_stats()
3146 sp->omitted_outoforder_packets = sp->outoforder_packets; in iperf_reset_stats()
3147 sp->jitter = 0; in iperf_reset_stats()
3148 rp = sp->result; in iperf_reset_stats()
3154 save_tcpinfo(sp, &ir); in iperf_reset_stats()
3172 struct iperf_stream *sp; in iperf_stats_callback() local
3179 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_stats_callback()
3180 rp = sp->result; in iperf_stats_callback()
3181 …temp.bytes_transferred = sp->sender ? rp->bytes_sent_this_interval : rp->bytes_received_this_inter… in iperf_stats_callback()
3199 save_tcpinfo(sp, &temp); in iperf_stats_callback()
3233 temp.interval_packet_count = sp->packet_count; in iperf_stats_callback()
3234 temp.interval_outoforder_packets = sp->outoforder_packets; in iperf_stats_callback()
3235 temp.interval_cnt_error = sp->cnt_error; in iperf_stats_callback()
3237 temp.interval_packet_count = sp->packet_count - irp->packet_count; in iperf_stats_callback()
3238 temp.interval_outoforder_packets = sp->outoforder_packets - irp->outoforder_packets; in iperf_stats_callback()
3239 temp.interval_cnt_error = sp->cnt_error - irp->cnt_error; in iperf_stats_callback()
3241 temp.packet_count = sp->packet_count; in iperf_stats_callback()
3242 temp.jitter = sp->jitter; in iperf_stats_callback()
3243 temp.outoforder_packets = sp->outoforder_packets; in iperf_stats_callback()
3244 temp.cnt_error = sp->cnt_error; in iperf_stats_callback()
3265 struct iperf_stream *sp = NULL; in iperf_print_intermediate() local
3288 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_print_intermediate()
3289 irp = TAILQ_LAST(&sp->result->interval_results, irlisthead); in iperf_print_intermediate()
3381 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_print_intermediate()
3382 if (sp->sender == stream_must_be_sender) { in iperf_print_intermediate()
3383 print_interval_results(test, sp, json_interval_streams); in iperf_print_intermediate()
3385 irp = TAILQ_LAST(&sp->result->interval_results, irlisthead); in iperf_print_intermediate()
3422 sp = SLIST_FIRST(&test->streams); /* reset back to 1st stream */ in iperf_print_intermediate()
3424 if (sp) { in iperf_print_intermediate()
3425 …irp = TAILQ_LAST(&sp->result->interval_results, irlisthead); /* use 1st stream for timing info … in iperf_print_intermediate()
3431 iperf_time_diff(&sp->result->start_time,&irp->interval_start_time, &temp_time); in iperf_print_intermediate()
3433 iperf_time_diff(&sp->result->start_time,&irp->interval_end_time, &temp_time); in iperf_print_intermediate()
3556 struct iperf_stream *sp = NULL; in iperf_print_results() local
3583 sp = SLIST_FIRST(&test->streams); in iperf_print_results()
3598 if (sp) { in iperf_print_results()
3599 iperf_time_diff(&sp->result->start_time, &sp->result->end_time, &temp_time); in iperf_print_results()
3601 if (sp->sender) { in iperf_print_results()
3602 sp->result->sender_time = end_time; in iperf_print_results()
3603 if (sp->result->receiver_time == 0.0) { in iperf_print_results()
3604 sp->result->receiver_time = sp->result->sender_time; in iperf_print_results()
3608 sp->result->receiver_time = end_time; in iperf_print_results()
3609 if (sp->result->sender_time == 0.0) { in iperf_print_results()
3610 sp->result->sender_time = sp->result->receiver_time; in iperf_print_results()
3613 sender_time = sp->result->sender_time; in iperf_print_results()
3614 receiver_time = sp->result->receiver_time; in iperf_print_results()
3615 SLIST_FOREACH(sp, &test->streams, streams) { in iperf_print_results()
3616 if (sp->sender == stream_must_be_sender) { in iperf_print_results()
3624 bytes_sent = sp->result->bytes_sent - sp->result->bytes_sent_omit; in iperf_print_results()
3625 bytes_received = sp->result->bytes_received; in iperf_print_results()
3629 if (sp->sender) { in iperf_print_results()
3630 sender_packet_count = sp->packet_count; in iperf_print_results()
3631 receiver_packet_count = sp->peer_packet_count; in iperf_print_results()
3634 sender_packet_count = sp->peer_packet_count; in iperf_print_results()
3635 receiver_packet_count = sp->packet_count; in iperf_print_results()
3640 total_retransmits += sp->result->stream_retrans; in iperf_print_results()
3648 total_packets += (packet_count - sp->omitted_packet_count); in iperf_print_results()
3649 sender_total_packets += (sender_packet_count - sp->omitted_packet_count); in iperf_print_results()
3650 receiver_total_packets += (receiver_packet_count - sp->omitted_packet_count); in iperf_print_results()
3651 lost_packets += (sp->cnt_error - sp->omitted_cnt_error); in iperf_print_results()
3652 avg_jitter += sp->jitter; in iperf_print_results()
3667 …sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent,… in iperf_print_results()
3669 if (test->role == 's' && !sp->sender) { in iperf_print_results()
3671 … iperf_printf(test, report_sender_not_available_format, sp->socket); in iperf_print_results()
3674 …iperf_printf(test, report_bw_retrans_format, sp->socket, mbuf, start_time, sender_time, ubuf, nbuf… in iperf_print_results()
3679 …nd: %f seconds: %f bytes: %d bits_per_second: %f sender: %b", (int64_t) sp->socket, (double) st… in iperf_print_results()
3681 if (test->role == 's' && !sp->sender) { in iperf_print_results()
3683 … iperf_printf(test, report_sender_not_available_format, sp->socket); in iperf_print_results()
3686 …iperf_printf(test, report_bw_format, sp->socket, mbuf, start_time, sender_time, ubuf, nbuf, report… in iperf_print_results()
3691 if (sender_packet_count - sp->omitted_packet_count > 0) { in iperf_print_results()
3692 …lost_percent = 100.0 * (sp->cnt_error - sp->omitted_cnt_error) / (sender_packet_count - sp->omitte… in iperf_print_results()
3715 …sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent,… in iperf_print_results()
3725 if (test->role == 's' && !sp->sender) { in iperf_print_results()
3727 iperf_printf(test, report_sender_not_available_format, sp->socket); in iperf_print_results()
3730 …ntf(test, report_bw_udp_format, sp->socket, mbuf, start_time, sender_time, ubuf, nbuf, 0.0, 0, (se… in iperf_print_results()
3732 if ((sp->outoforder_packets - sp->omitted_outoforder_packets) > 0) in iperf_print_results()
3733 …f(test, report_sum_outoforder, mbuf, start_time, sender_time, (sp->outoforder_packets - sp->omitte… in iperf_print_results()
3737 if (sp->diskfile_fd >= 0) { in iperf_print_results()
3738 if (fstat(sp->diskfile_fd, &sb) == 0) { in iperf_print_results()
3770 …nd: %f seconds: %f bytes: %d bits_per_second: %f sender: %b", (int64_t) sp->socket, (double) st… in iperf_print_results()
3772 if (test->role == 's' && sp->sender) { in iperf_print_results()
3774 … iperf_printf(test, report_receiver_not_available_format, sp->socket); in iperf_print_results()
3777 …iperf_printf(test, report_bw_format, sp->socket, mbuf, start_time, receiver_time, ubuf, nbuf, repo… in iperf_print_results()
3787 if (receiver_packet_count - sp->omitted_packet_count > 0) { in iperf_print_results()
3788 …lost_percent = 100.0 * (sp->cnt_error - sp->omitted_cnt_error) / (receiver_packet_count - sp->omit… in iperf_print_results()
3794 if (test->role == 's' && sp->sender) { in iperf_print_results()
3796 … iperf_printf(test, report_receiver_not_available_format, sp->socket); in iperf_print_results()
3799 …t, sp->socket, mbuf, start_time, receiver_time, ubuf, nbuf, sp->jitter * 1000.0, (sp->cnt_error - … in iperf_print_results()
4036 print_interval_results(struct iperf_test *test, struct iperf_stream *sp, cJSON *json_interval_strea… in print_interval_results() argument
4049 sprintf(mbuf, "[%s-%s]", sp->sender?"TX":"RX", test->role == 'c'?"C":"S"); in print_interval_results()
4055 irp = TAILQ_LAST(&sp->result->interval_results, irlisthead); /* get last entry in linked list */ in print_interval_results()
4062 if (sp == SLIST_FIRST(&test->streams)) { in print_interval_results()
4067 if (iperf_time_compare(&sp->result->start_time, &irp->interval_start_time) == 0) { in print_interval_results()
4105 iperf_time_diff(&sp->result->start_time, &irp->interval_start_time, &temp_time); in print_interval_results()
4107 iperf_time_diff(&sp->result->start_time, &irp->interval_end_time, &temp_time); in print_interval_results()
4111 if (test->sender_has_retransmits == 1 && sp->sender) { in print_interval_results()
4114 …sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->bytes_transf… in print_interval_results()
4117 …iperf_printf(test, report_bw_retrans_cwnd_format, sp->socket, mbuf, st, et, ubuf, nbuf, irp->inter… in print_interval_results()
4122 …nt64_t) sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->byte… in print_interval_results()
4124 …iperf_printf(test, report_bw_format, sp->socket, mbuf, st, et, ubuf, nbuf, irp->omitted?report_omi… in print_interval_results()
4128 if (sp->sender) { in print_interval_results()
4130 …sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->bytes_transf… in print_interval_results()
4132 …iperf_printf(test, report_bw_udp_sender_format, sp->socket, mbuf, st, et, ubuf, nbuf, zbuf, irp->i… in print_interval_results()
4141 …sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->bytes_transf… in print_interval_results()
4143 …iperf_printf(test, report_bw_udp_format, sp->socket, mbuf, st, et, ubuf, nbuf, irp->jitter * 1000.… in print_interval_results()
4153 iperf_free_stream(struct iperf_stream *sp) in iperf_free_stream() argument
4158 munmap(sp->buffer, sp->test->settings->blksize); in iperf_free_stream()
4159 close(sp->buffer_fd); in iperf_free_stream()
4160 if (sp->diskfile_fd >= 0) in iperf_free_stream()
4161 close(sp->diskfile_fd); in iperf_free_stream()
4162 for (irp = TAILQ_FIRST(&sp->result->interval_results); irp != NULL; irp = nirp) { in iperf_free_stream()
4166 free(sp->result); in iperf_free_stream()
4167 if (sp->send_timer != NULL) in iperf_free_stream()
4168 tmr_cancel(sp->send_timer); in iperf_free_stream()
4169 free(sp); in iperf_free_stream()
4176 struct iperf_stream *sp; in iperf_new_stream() local
4197 sp = (struct iperf_stream *) malloc(sizeof(struct iperf_stream)); in iperf_new_stream()
4198 if (!sp) { in iperf_new_stream()
4203 memset(sp, 0, sizeof(struct iperf_stream)); in iperf_new_stream()
4205 sp->sender = sender; in iperf_new_stream()
4206 sp->test = test; in iperf_new_stream()
4207 sp->settings = test->settings; in iperf_new_stream()
4208 sp->result = (struct iperf_stream_result *) malloc(sizeof(struct iperf_stream_result)); in iperf_new_stream()
4209 if (!sp->result) { in iperf_new_stream()
4210 free(sp); in iperf_new_stream()
4215 memset(sp->result, 0, sizeof(struct iperf_stream_result)); in iperf_new_stream()
4216 TAILQ_INIT(&sp->result->interval_results); in iperf_new_stream()
4219 sp->buffer_fd = mkstemp(template); in iperf_new_stream()
4220 if (sp->buffer_fd == -1) { in iperf_new_stream()
4222 free(sp->result); in iperf_new_stream()
4223 free(sp); in iperf_new_stream()
4228 free(sp->result); in iperf_new_stream()
4229 free(sp); in iperf_new_stream()
4232 if (ftruncate(sp->buffer_fd, test->settings->blksize) < 0) { in iperf_new_stream()
4234 free(sp->result); in iperf_new_stream()
4235 free(sp); in iperf_new_stream()
4238 …sp->buffer = (char *) mmap(NULL, test->settings->blksize, PROT_READ|PROT_WRITE, MAP_PRIVATE, sp->b… in iperf_new_stream()
4239 if (sp->buffer == MAP_FAILED) { in iperf_new_stream()
4241 free(sp->result); in iperf_new_stream()
4242 free(sp); in iperf_new_stream()
4245 sp->pending_size = 0; in iperf_new_stream()
4248 sp->socket = s; in iperf_new_stream()
4250 sp->snd = test->protocol->send; in iperf_new_stream()
4251 sp->rcv = test->protocol->recv; in iperf_new_stream()
4254 …sp->diskfile_fd = open(test->diskfile_name, sender ? O_RDONLY : (O_WRONLY|O_CREAT|O_TRUNC), S_IRUS… in iperf_new_stream()
4255 if (sp->diskfile_fd == -1) { in iperf_new_stream()
4257 munmap(sp->buffer, sp->test->settings->blksize); in iperf_new_stream()
4258 free(sp->result); in iperf_new_stream()
4259 free(sp); in iperf_new_stream()
4262 sp->snd2 = sp->snd; in iperf_new_stream()
4263 sp->snd = diskfile_send; in iperf_new_stream()
4264 sp->rcv2 = sp->rcv; in iperf_new_stream()
4265 sp->rcv = diskfile_recv; in iperf_new_stream()
4267 sp->diskfile_fd = -1; in iperf_new_stream()
4271 fill_with_repeating_pattern(sp->buffer, test->settings->blksize); in iperf_new_stream()
4273 ret = readentropy(sp->buffer, test->settings->blksize); in iperf_new_stream()
4275 if ((ret < 0) || (iperf_init_stream(sp, test) < 0)) { in iperf_new_stream()
4276 close(sp->buffer_fd); in iperf_new_stream()
4277 munmap(sp->buffer, sp->test->settings->blksize); in iperf_new_stream()
4278 free(sp->result); in iperf_new_stream()
4279 free(sp); in iperf_new_stream()
4282 iperf_add_stream(test, sp); in iperf_new_stream()
4284 return sp; in iperf_new_stream()
4289 iperf_init_stream(struct iperf_stream *sp, struct iperf_test *test) in iperf_init_stream() argument
4295 if (getsockname(sp->socket, (struct sockaddr *) &sp->local_addr, &len) < 0) { in iperf_init_stream()
4300 if (getpeername(sp->socket, (struct sockaddr *) &sp->remote_addr, &len) < 0) { in iperf_init_stream()
4307 if (getsockdomain(sp->socket) == AF_INET6) { in iperf_init_stream()
4309 if (setsockopt(sp->socket, IPPROTO_IPV6, IPV6_TCLASS, &opt, sizeof(opt)) < 0) { in iperf_init_stream()
4318 if (setsockopt(sp->socket, IPPROTO_IP, IP_TOS, &opt, sizeof(opt)) < 0) { in iperf_init_stream()
4328 getsockdomain(sp->socket) == AF_INET && in iperf_init_stream()
4338 if (setsockopt(sp->socket, IPPROTO_IP, IP_MTU_DISCOVER, &opt, sizeof(opt)) < 0) { in iperf_init_stream()
4345 if (setsockopt(sp->socket, IPPROTO_IP, IP_DONTFRAG, &opt, sizeof(opt)) < 0) { in iperf_init_stream()
4352 if (setsockopt(sp->socket, IPPROTO_IP, IP_DONTFRAGMENT, &opt, sizeof(opt)) < 0) { in iperf_init_stream()
4369 iperf_add_stream(struct iperf_test *test, struct iperf_stream *sp) in iperf_add_stream() argument
4375 SLIST_INSERT_HEAD(&test->streams, sp, streams); in iperf_add_stream()
4376 sp->id = 1; in iperf_add_stream()
4388 SLIST_INSERT_AFTER(prev, sp, streams); in iperf_add_stream()
4389 sp->id = i; in iperf_add_stream()
4402 diskfile_send(struct iperf_stream *sp) in diskfile_send() argument
4405 int buffer_left = sp->diskfile_left; // represents total data in buffer to be sent out in diskfile_send()
4409 if (sp->diskfile_left < sp->test->settings->blksize && !sp->test->done) { in diskfile_send()
4410 r = read(sp->diskfile_fd, sp->buffer, sp->test->settings->blksize - in diskfile_send()
4411 sp->diskfile_left); in diskfile_send()
4414 if (sp->test->debug) { in diskfile_send()
4420 if (buffer_left != sp->test->settings->blksize) { in diskfile_send()
4421 if (sp->test->debug) in diskfile_send()
4426 sp->pending_size = buffer_left; in diskfile_send()
4431 sp->test->done = 1; in diskfile_send()
4432 if (sp->test->debug) in diskfile_send()
4440 if( sp->test->done || buffer_left == 0 ){ in diskfile_send()
4441 if (sp->test->debug) in diskfile_send()
4443 sp->test->done = 1; in diskfile_send()
4447 r = sp->snd2(sp); in diskfile_send()
4457 sp->diskfile_left = buffer_left - r; in diskfile_send()
4458 if (sp->diskfile_left && sp->diskfile_left < sp->test->settings->blksize) { in diskfile_send()
4459 memcpy(sp->buffer, in diskfile_send()
4460 sp->buffer + (sp->test->settings->blksize - sp->diskfile_left), in diskfile_send()
4461 sp->diskfile_left); in diskfile_send()
4462 if (sp->test->debug) in diskfile_send()
4463 …printf("Shifting %d bytes by %d\n", sp->diskfile_left, (sp->test->settings->blksize - sp->diskfile… in diskfile_send()
4469 diskfile_recv(struct iperf_stream *sp) in diskfile_recv() argument
4473 r = sp->rcv2(sp); in diskfile_recv()
4476 (void) (write(sp->diskfile_fd, sp->buffer, r) + 1); in diskfile_recv()