Lines Matching refs:ss_data
56 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_default_init()
57 asoc->ss_data.last_out_stream = NULL; in sctp_ss_default_init()
58 TAILQ_INIT(&asoc->ss_data.out.wheel); in sctp_ss_default_init()
78 while (!TAILQ_EMPTY(&asoc->ss_data.out.wheel)) { in sctp_ss_default_clear()
81 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_default_clear()
83 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke); in sctp_ss_default_clear()
86 asoc->ss_data.last_out_stream = NULL; in sctp_ss_default_clear()
96 if (stcb->asoc.ss_data.locked_on_sending == with_strq) { in sctp_ss_default_init_stream()
97 stcb->asoc.ss_data.locked_on_sending = strq; in sctp_ss_default_init_stream()
99 if (stcb->asoc.ss_data.last_out_stream == with_strq) { in sctp_ss_default_init_stream()
100 stcb->asoc.ss_data.last_out_stream = strq; in sctp_ss_default_init_stream()
116 TAILQ_INSERT_TAIL(&asoc->ss_data.out.wheel, in sctp_ss_default_add()
128 return (TAILQ_EMPTY(&asoc->ss_data.out.wheel)); in sctp_ss_default_is_empty()
143 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_default_remove()
144 asoc->ss_data.last_out_stream = TAILQ_PREV(asoc->ss_data.last_out_stream, in sctp_ss_default_remove()
147 if (asoc->ss_data.last_out_stream == NULL) { in sctp_ss_default_remove()
148 asoc->ss_data.last_out_stream = TAILQ_LAST(&asoc->ss_data.out.wheel, in sctp_ss_default_remove()
151 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_default_remove()
152 asoc->ss_data.last_out_stream = NULL; in sctp_ss_default_remove()
155 if (asoc->ss_data.locked_on_sending == strq) { in sctp_ss_default_remove()
156 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_default_remove()
158 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke); in sctp_ss_default_remove()
172 if (asoc->ss_data.locked_on_sending != NULL) { in sctp_ss_default_select()
173 KASSERT(asoc->ss_data.locked_on_sending->ss_params.scheduled, in sctp_ss_default_select()
175 (void *)asoc->ss_data.locked_on_sending)); in sctp_ss_default_select()
176 return (asoc->ss_data.locked_on_sending); in sctp_ss_default_select()
178 strqt = asoc->ss_data.last_out_stream; in sctp_ss_default_select()
184 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_default_select()
188 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_default_select()
208 if (strq == asoc->ss_data.last_out_stream) { in sctp_ss_default_select()
232 asoc->ss_data.last_out_stream = strq; in sctp_ss_default_scheduled()
236 asoc->ss_data.locked_on_sending = strq; in sctp_ss_default_scheduled()
238 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_default_scheduled()
241 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_default_scheduled()
287 strq = asoc->ss_data.locked_on_sending; in sctp_ss_default_is_user_msgs_incomplete()
312 if (TAILQ_EMPTY(&asoc->ss_data.out.wheel)) { in sctp_ss_rr_add()
313 TAILQ_INSERT_HEAD(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke); in sctp_ss_rr_add()
315 strqt = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_rr_add()
322 TAILQ_INSERT_TAIL(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke); in sctp_ss_rr_add()
341 return (asoc->ss_data.last_out_stream); in sctp_ss_rrp_select()
352 strqt = asoc->ss_data.last_out_stream; in sctp_ss_rrp_packet_done()
358 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_rrp_packet_done()
362 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_rrp_packet_done()
382 if (strq == asoc->ss_data.last_out_stream) { in sctp_ss_rrp_packet_done()
390 asoc->ss_data.last_out_stream = strq; in sctp_ss_rrp_packet_done()
404 while (!TAILQ_EMPTY(&asoc->ss_data.out.wheel)) { in sctp_ss_prio_clear()
407 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_prio_clear()
412 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.prio.next_spoke); in sctp_ss_prio_clear()
415 asoc->ss_data.last_out_stream = NULL; in sctp_ss_prio_clear()
425 if (stcb->asoc.ss_data.locked_on_sending == with_strq) { in sctp_ss_prio_init_stream()
426 stcb->asoc.ss_data.locked_on_sending = strq; in sctp_ss_prio_init_stream()
428 if (stcb->asoc.ss_data.last_out_stream == with_strq) { in sctp_ss_prio_init_stream()
429 stcb->asoc.ss_data.last_out_stream = strq; in sctp_ss_prio_init_stream()
451 if (TAILQ_EMPTY(&asoc->ss_data.out.wheel)) { in sctp_ss_prio_add()
452 TAILQ_INSERT_HEAD(&asoc->ss_data.out.wheel, strq, ss_params.ss.prio.next_spoke); in sctp_ss_prio_add()
454 strqt = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_prio_add()
461 TAILQ_INSERT_TAIL(&asoc->ss_data.out.wheel, strq, ss_params.ss.prio.next_spoke); in sctp_ss_prio_add()
480 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_prio_remove()
481 asoc->ss_data.last_out_stream = TAILQ_PREV(asoc->ss_data.last_out_stream, in sctp_ss_prio_remove()
484 if (asoc->ss_data.last_out_stream == NULL) { in sctp_ss_prio_remove()
485 asoc->ss_data.last_out_stream = TAILQ_LAST(&asoc->ss_data.out.wheel, in sctp_ss_prio_remove()
488 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_prio_remove()
489 asoc->ss_data.last_out_stream = NULL; in sctp_ss_prio_remove()
492 if (asoc->ss_data.locked_on_sending == strq) { in sctp_ss_prio_remove()
493 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_prio_remove()
495 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.prio.next_spoke); in sctp_ss_prio_remove()
509 if (asoc->ss_data.locked_on_sending != NULL) { in sctp_ss_prio_select()
510 KASSERT(asoc->ss_data.locked_on_sending->ss_params.scheduled, in sctp_ss_prio_select()
512 (void *)asoc->ss_data.locked_on_sending)); in sctp_ss_prio_select()
513 return (asoc->ss_data.locked_on_sending); in sctp_ss_prio_select()
515 strqt = asoc->ss_data.last_out_stream; in sctp_ss_prio_select()
521 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_prio_select()
528 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_prio_select()
548 if (strq == asoc->ss_data.last_out_stream) { in sctp_ss_prio_select()
597 while (!TAILQ_EMPTY(&asoc->ss_data.out.wheel)) { in sctp_ss_fb_clear()
600 strq = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_fb_clear()
605 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.fb.next_spoke); in sctp_ss_fb_clear()
608 asoc->ss_data.last_out_stream = NULL; in sctp_ss_fb_clear()
618 if (stcb->asoc.ss_data.locked_on_sending == with_strq) { in sctp_ss_fb_init_stream()
619 stcb->asoc.ss_data.locked_on_sending = strq; in sctp_ss_fb_init_stream()
621 if (stcb->asoc.ss_data.last_out_stream == with_strq) { in sctp_ss_fb_init_stream()
622 stcb->asoc.ss_data.last_out_stream = strq; in sctp_ss_fb_init_stream()
643 TAILQ_INSERT_TAIL(&asoc->ss_data.out.wheel, strq, ss_params.ss.fb.next_spoke); in sctp_ss_fb_add()
660 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_fb_remove()
661 asoc->ss_data.last_out_stream = TAILQ_PREV(asoc->ss_data.last_out_stream, in sctp_ss_fb_remove()
664 if (asoc->ss_data.last_out_stream == NULL) { in sctp_ss_fb_remove()
665 asoc->ss_data.last_out_stream = TAILQ_LAST(&asoc->ss_data.out.wheel, in sctp_ss_fb_remove()
668 if (asoc->ss_data.last_out_stream == strq) { in sctp_ss_fb_remove()
669 asoc->ss_data.last_out_stream = NULL; in sctp_ss_fb_remove()
672 if (asoc->ss_data.locked_on_sending == strq) { in sctp_ss_fb_remove()
673 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_fb_remove()
675 TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.fb.next_spoke); in sctp_ss_fb_remove()
689 if (asoc->ss_data.locked_on_sending != NULL) { in sctp_ss_fb_select()
690 KASSERT(asoc->ss_data.locked_on_sending->ss_params.scheduled, in sctp_ss_fb_select()
692 (void *)asoc->ss_data.locked_on_sending)); in sctp_ss_fb_select()
693 return (asoc->ss_data.locked_on_sending); in sctp_ss_fb_select()
695 if (asoc->ss_data.last_out_stream == NULL || in sctp_ss_fb_select()
696 …TAILQ_FIRST(&asoc->ss_data.out.wheel) == TAILQ_LAST(&asoc->ss_data.out.wheel, sctpwheel_listhead))… in sctp_ss_fb_select()
697 strqt = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_fb_select()
699 strqt = TAILQ_NEXT(asoc->ss_data.last_out_stream, ss_params.ss.fb.next_spoke); in sctp_ss_fb_select()
717 strqt = TAILQ_FIRST(&asoc->ss_data.out.wheel); in sctp_ss_fb_select()
737 asoc->ss_data.locked_on_sending = strq; in sctp_ss_fb_scheduled()
739 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_fb_scheduled()
742 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_fb_scheduled()
745 TAILQ_FOREACH(strqt, &asoc->ss_data.out.wheel, ss_params.ss.fb.next_spoke) { in sctp_ss_fb_scheduled()
755 asoc->ss_data.last_out_stream = strq; in sctp_ss_fb_scheduled()
777 TAILQ_INIT(&asoc->ss_data.out.list); in sctp_ss_fcfs_init()
811 while (!TAILQ_EMPTY(&asoc->ss_data.out.list)) { in sctp_ss_fcfs_clear()
812 sp = TAILQ_FIRST(&asoc->ss_data.out.list); in sctp_ss_fcfs_clear()
814 TAILQ_REMOVE(&asoc->ss_data.out.list, sp, ss_next); in sctp_ss_fcfs_clear()
817 asoc->ss_data.last_out_stream = NULL; in sctp_ss_fcfs_clear()
827 if (stcb->asoc.ss_data.locked_on_sending == with_strq) { in sctp_ss_fcfs_init_stream()
828 stcb->asoc.ss_data.locked_on_sending = strq; in sctp_ss_fcfs_init_stream()
830 if (stcb->asoc.ss_data.last_out_stream == with_strq) { in sctp_ss_fcfs_init_stream()
831 stcb->asoc.ss_data.last_out_stream = strq; in sctp_ss_fcfs_init_stream()
845 TAILQ_INSERT_TAIL(&asoc->ss_data.out.list, sp, ss_next); in sctp_ss_fcfs_add()
856 return (TAILQ_EMPTY(&asoc->ss_data.out.list)); in sctp_ss_fcfs_is_empty()
866 TAILQ_REMOVE(&asoc->ss_data.out.list, sp, ss_next); in sctp_ss_fcfs_remove()
881 if (asoc->ss_data.locked_on_sending) { in sctp_ss_fcfs_select()
882 return (asoc->ss_data.locked_on_sending); in sctp_ss_fcfs_select()
884 sp = TAILQ_FIRST(&asoc->ss_data.out.list); in sctp_ss_fcfs_select()
923 asoc->ss_data.last_out_stream = strq; in sctp_ss_fcfs_scheduled()
927 asoc->ss_data.locked_on_sending = strq; in sctp_ss_fcfs_scheduled()
929 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_fcfs_scheduled()
932 asoc->ss_data.locked_on_sending = NULL; in sctp_ss_fcfs_scheduled()