Lines Matching refs:ooseq
837 * segment on any of the receive queues (pcb->recved or pcb->ooseq). If the segment
1130 the ->ooseq queue. This is done by finding the appropriate
1131 place in the ->ooseq queue (which is ordered by sequence
1136 +) Finally, we check if the first segment on the ->ooseq queue
1137 now is in sequence (i.e., if rcv_nxt >= ooseq->seqno). If
1138 rcv_nxt > ooseq->seqno, we must trim the first edge of the
1139 segment on ->ooseq before we adjust rcv_nxt. The data in the
1243 /* Received in-sequence data, adjust ooseq data if:
1245 - inseq overlaps with ooseq */
1246 if (pcb->ooseq != NULL) {
1249 ("tcp_receive: received in-order FIN, binning ooseq queue\n"));
1252 * bin the ooseq queue */
1253 while (pcb->ooseq != NULL) {
1254 struct tcp_seg *old_ooseq = pcb->ooseq;
1255 pcb->ooseq = pcb->ooseq->next;
1259 next = pcb->ooseq;
1260 /* Remove all segments on ooseq that are covered by inseg already.
1261 * FIN is copied from ooseq to inseg if present. */
1276 * segment on ooseq */
1287 LWIP_ASSERT("tcp_receive: segment not trimmed correctly to ooseq queue\n",
1290 pcb->ooseq = next;
1325 /* We now check if we have segments on the ->ooseq queue that
1327 while (pcb->ooseq != NULL &&
1328 pcb->ooseq->tcphdr->seqno == pcb->rcv_nxt) {
1330 cseg = pcb->ooseq;
1331 seqno = pcb->ooseq->tcphdr->seqno;
1334 LWIP_ASSERT("tcp_receive: ooseq tcplen > rcv_wnd\n",
1358 pcb->ooseq = cseg->next;
1371 /* We queue the segment on the ->ooseq queue. */
1372 if (pcb->ooseq == NULL) {
1373 pcb->ooseq = tcp_seg_copy(&inseg);
1378 previous and the next segment on the ->ooseq queue. That is
1384 segment on the ->ooseq queue, we discard the segment that
1388 for(next = pcb->ooseq; next != NULL; next = next->next) {
1392 ->ooseq. We check the lengths to see which one to
1403 pcb->ooseq = cseg;
1423 pcb->ooseq = cseg;
1434 the next segment on ->ooseq. We trim trim the previous
1451 ooseq queue, we add the incoming segment to the end
1492 /* Check that the data on ooseq doesn't exceed one of the limits
1497 for(next = pcb->ooseq; next != NULL; prev = next, next = next->next) {
1503 /* too much ooseq data, dump this and everything after it */
1506 /* first ooseq segment is too much, dump the whole queue */
1507 pcb->ooseq = NULL;