Lines Matching refs:pcb

58   struct tcp_pcb* pcb;
63 pcb = tcp_new();
64 fail_unless(pcb != NULL);
65 if (pcb != NULL) {
67 tcp_abort(pcb);
73 /** Create an ESTABLISHED pcb and check if receive callback is called */
77 struct tcp_pcb* pcb;
96 /* create and initialize the pcb */
97 pcb = test_tcp_new_counters_pcb(&counters);
98 EXPECT_RET(pcb != NULL);
99 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port);
102 p = tcp_create_rx_segment(pcb, counters.expected_data, data_len, 0, 0, 0);
114 /* make sure the pcb is freed */
116 tcp_abort(pcb);
128 struct tcp_pcb* pcb;
148 /* create and initialize the pcb */
149 pcb = test_tcp_new_counters_pcb(&counters);
150 EXPECT_RET(pcb != NULL);
151 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port);
152 pcb->mss = TCP_MSS;
154 pcb->cwnd = pcb->snd_wnd;
157 err = tcp_write(pcb, data1, sizeof(data1), TCP_WRITE_FLAG_COPY);
159 err = tcp_output(pcb);
165 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 4, TCP_ACK);
169 EXPECT_RET(pcb->unacked == NULL);
171 err = tcp_write(pcb, data2, sizeof(data2), TCP_WRITE_FLAG_COPY);
173 err = tcp_output(pcb);
179 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
183 EXPECT_RET(pcb->dupacks == 1);
185 err = tcp_write(pcb, data3, sizeof(data3), TCP_WRITE_FLAG_COPY);
187 err = tcp_output(pcb);
194 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
198 EXPECT_RET(pcb->dupacks == 2);
200 err = tcp_write(pcb, data4, sizeof(data4), TCP_WRITE_FLAG_COPY);
203 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
207 EXPECT_RET(pcb->dupacks == 3);
212 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
214 /*err = tcp_output(pcb);
223 err = tcp_write(pcb, data6, TCP_MSS, TCP_WRITE_FLAG_COPY);
228 err = tcp_output(pcb);
235 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
237 err = tcp_output(pcb);
240 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
242 err = tcp_output(pcb);
245 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
247 err = tcp_output(pcb);
250 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
252 err = tcp_output(pcb);
256 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 12, TCP_ACK);
262 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
264 err = tcp_output(pcb);
267 err = tcp_write(pcb, data5, sizeof(data5), TCP_WRITE_FLAG_COPY);
269 err = tcp_output(pcb);
274 p1 = tcp_create_rx_segment(pcb, counters.expected_data, data_len, 0, 0, 0);
286 /* make sure the pcb is freed */
288 tcp_abort(pcb);
315 struct tcp_pcb* pcb;
343 /* create and initialize the pcb */
345 pcb = test_tcp_new_counters_pcb(&counters);
346 EXPECT_RET(pcb != NULL);
347 EXPECT(pcb->lastack == SEQNO1);
348 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port);
349 pcb->mss = TCP_MSS;
351 pcb->cwnd = 2*TCP_MSS;
355 err = tcp_write(pcb, &tx_data[sent_total], TCP_MSS, TCP_WRITE_FLAG_COPY);
359 check_seqnos(pcb->unsent, 6, seqnos);
360 EXPECT(pcb->unacked == NULL);
361 err = tcp_output(pcb);
366 check_seqnos(pcb->unacked, 2, seqnos);
367 check_seqnos(pcb->unsent, 4, &seqnos[2]);
370 p = tcp_create_rx_segment(pcb, NULL, 0, 0, TCP_MSS, TCP_ACK);
376 check_seqnos(pcb->unacked, 2, &seqnos[1]);
377 check_seqnos(pcb->unsent, 3, &seqnos[3]);
380 EXPECT(pcb->dupacks == 0);
381 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
384 EXPECT(pcb->dupacks == 1);
385 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
388 EXPECT(pcb->dupacks == 2);
390 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
392 EXPECT(pcb->dupacks == 3);
395 EXPECT(pcb->unsent == NULL);
396 check_seqnos(pcb->unacked, 5, &seqnos[1]);
398 /* make sure the pcb is freed */
400 tcp_abort(pcb);
413 struct tcp_pcb* pcb;
440 /* create and initialize the pcb */
444 pcb = test_tcp_new_counters_pcb(&counters);
445 EXPECT_RET(pcb != NULL);
446 EXPECT(pcb->lastack == SEQNO1);
447 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port);
448 pcb->mss = TCP_MSS;
450 pcb->cwnd = 2*TCP_MSS;
454 err = tcp_write(pcb, &tx_data[sent_total], TCP_MSS, TCP_WRITE_FLAG_COPY);
458 check_seqnos(pcb->unsent, 6, seqnos);
459 EXPECT(pcb->unacked == NULL);
460 err = tcp_output(pcb);
465 check_seqnos(pcb->unacked, 2, seqnos);
466 check_seqnos(pcb->unsent, 4, &seqnos[2]);
476 check_seqnos(pcb->unacked, 1, seqnos);
477 check_seqnos(pcb->unsent, 5, &seqnos[1]);
480 pcb->cwnd = pcb->snd_wnd;
482 err = tcp_output(pcb);
485 EXPECT(pcb->unsent == NULL);
486 check_seqnos(pcb->unacked, 6, seqnos);
488 /* make sure the pcb is freed */
490 tcp_abort(pcb);
502 struct tcp_pcb* pcb;
531 /* create and initialize the pcb */
532 pcb = test_tcp_new_counters_pcb(&counters);
533 EXPECT_RET(pcb != NULL);
534 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port);
535 pcb->mss = TCP_MSS;
537 pcb->cwnd = pcb->snd_wnd;
543 err = tcp_write(pcb, &tx_data[sent_total], initial_data_len, TCP_WRITE_FLAG_COPY);
545 err = tcp_output(pcb);
553 err = tcp_write(pcb, &tx_data[sent_total], TCP_MSS, TCP_WRITE_FLAG_COPY);
555 err = tcp_output(pcb);
564 p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
570 EXPECT(pcb->persist_backoff == 0);
572 err = tcp_write(pcb, &tx_data[sent_total], TCP_MSS, TCP_WRITE_FLAG_COPY);
575 err = tcp_output(pcb);
580 EXPECT(pcb->persist_backoff == 0);
584 p = tcp_create_rx_segment_wnd(pcb, NULL, 0, 0, TCP_WND, TCP_ACK, 0);
589 EXPECT(pcb->persist_backoff == 1);
593 err = tcp_write(pcb, &tx_data[sent_total], 1, TCP_WRITE_FLAG_COPY);
595 err = tcp_output(pcb);
602 EXPECT(pcb->persist_backoff == 0);
604 EXPECT(pcb->persist_backoff == 1);
633 /* make sure the pcb is freed */
635 tcp_abort(pcb);