Lines Matching refs:so_rcv

549 	sb_src = &so_src->so_rcv;  in so_splice_xfer_data()
667 if (sbavail(&so_src->so_rcv) > 0 && in so_splice_xfer()
819 so->so_rcv.sb_sel = &so->so_rdsel; in soalloc()
824 TAILQ_INIT(&so->so_rcv.sb_aiojobq); in soalloc()
826 TASK_INIT(&so->so_rcv.sb_aiotask, 0, soaio_rcv, so); in soalloc()
884 if (so->so_rcv.sb_hiwat) in sodealloc()
886 &so->so_rcv.sb_hiwat, 0, RLIM_INFINITY); in sodealloc()
968 so->so_rcv.sb_mtx = &so->so_rcv_mtx; in socreate()
1209 so->so_rcv.sb_lowat = head->sol_sbrcv_lowat;
1211 so->so_rcv.sb_timeo = head->sol_sbrcv_timeo;
1213 so->so_rcv.sb_flags = head->sol_sbrcv_flags & SB_AUTOSIZE;
1218 so->so_rcv.sb_mtx = &so->so_rcv_mtx;
1336 if (soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat)) {
1348 so->so_rcv.sb_lowat = head->so_rcv.sb_lowat;
1350 so->so_rcv.sb_timeo = head->so_rcv.sb_timeo;
1352 so->so_rcv.sb_flags |= head->so_rcv.sb_flags & SB_AUTOSIZE;
1356 so->so_rcv.sb_mtx = &so->so_rcv_mtx;
1444 so->so_rcv.sb_tls_info != NULL;
1450 (so->so_rcv.sb_flags & (SB_AIO | SB_AIO_RUNNING)) != 0) {
1490 sbrcv_lowat = so->so_rcv.sb_lowat;
1492 sbrcv_hiwat = so->so_rcv.sb_hiwat;
1494 sbrcv_flags = so->so_rcv.sb_flags;
1496 sbrcv_timeo = so->so_rcv.sb_timeo;
1509 bzero(&so->so_rcv,
1510 sizeof(struct socket) - offsetof(struct socket, so_rcv));
1703 if (so->so_rcv.sb_tls_info != NULL) {
1709 so->so_rcv.sb_flags |= SB_SPLICED;
1775 if ((so->so_rcv.sb_flags & SB_SPLICED) == 0) {
1792 so->so_rcv.sb_flags &= ~SB_SPLICED;
1872 KASSERT(SOLISTENING(so) || (so->so_rcv.sb_flags & SB_SPLICED) == 0,
2765 SOCKBUF_LOCK(&so->so_rcv);
2766 m = so->so_rcv.sb_mb;
2774 sbavail(&so->so_rcv) < uio->uio_resid) &&
2775 sbavail(&so->so_rcv) < so->so_rcv.sb_lowat &&
2777 KASSERT(m != NULL || !sbavail(&so->so_rcv),
2779 m, sbavail(&so->so_rcv)));
2793 SOCKBUF_UNLOCK(&so->so_rcv);
2796 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
2797 if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
2801 else if (so->so_rcv.sb_tlsdcc == 0 &&
2802 so->so_rcv.sb_tlscc == 0) {
2806 SOCKBUF_UNLOCK(&so->so_rcv);
2812 m = so->so_rcv.sb_mb;
2818 SOCKBUF_UNLOCK(&so->so_rcv);
2823 SOCKBUF_UNLOCK(&so->so_rcv);
2828 SOCKBUF_UNLOCK(&so->so_rcv);
2832 SBLASTRECORDCHK(&so->so_rcv);
2833 SBLASTMBUFCHK(&so->so_rcv);
2835 SOCKBUF_UNLOCK(&so->so_rcv);
2856 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
2859 KASSERT(m == so->so_rcv.sb_mb, ("soreceive: m != so->so_rcv.sb_mb"));
2860 SBLASTRECORDCHK(&so->so_rcv);
2861 SBLASTMBUFCHK(&so->so_rcv);
2873 sbfree(&so->so_rcv, m);
2874 so->so_rcv.sb_mb = m_free(m);
2875 m = so->so_rcv.sb_mb;
2876 sockbuf_pushsync(&so->so_rcv, nextrecord);
2908 SOCKBUF_UNLOCK(&so->so_rcv);
2925 sbfree(&so->so_rcv, m);
2926 so->so_rcv.sb_mb = m->m_next;
2930 m = so->so_rcv.sb_mb;
2934 sockbuf_pushsync(&so->so_rcv, nextrecord);
2949 nextrecord = so->so_rcv.sb_mb->m_nextpkt;
2951 nextrecord = so->so_rcv.sb_mb;
2959 KASSERT(so->so_rcv.sb_mb == m,
2961 KASSERT(so->so_rcv.sb_lastrecord == m,
2970 KASSERT(so->so_rcv.sb_mb == nextrecord,
2972 if (so->so_rcv.sb_mb == NULL) {
2973 KASSERT(so->so_rcv.sb_lastrecord == NULL,
2978 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
2979 SBLASTRECORDCHK(&so->so_rcv);
2980 SBLASTMBUFCHK(&so->so_rcv);
2998 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3007 so->so_rcv.sb_state &= ~SBS_RCVATMARK;
3021 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3022 SBLASTRECORDCHK(&so->so_rcv);
3023 SBLASTMBUFCHK(&so->so_rcv);
3024 SOCKBUF_UNLOCK(&so->so_rcv);
3031 SOCKBUF_LOCK(&so->so_rcv);
3043 (void)sbdroprecord_locked(&so->so_rcv);
3044 SOCKBUF_UNLOCK(&so->so_rcv);
3049 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3058 sbfree(&so->so_rcv, m);
3063 so->so_rcv.sb_mb = m = m->m_next;
3066 so->so_rcv.sb_mb = m_free(m);
3067 m = so->so_rcv.sb_mb;
3069 sockbuf_pushsync(&so->so_rcv, nextrecord);
3070 SBLASTRECORDCHK(&so->so_rcv);
3071 SBLASTMBUFCHK(&so->so_rcv);
3095 SOCKBUF_UNLOCK(&so->so_rcv);
3098 SOCKBUF_LOCK(&so->so_rcv);
3101 sbcut_locked(&so->so_rcv, len);
3104 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3109 so->so_rcv.sb_state |= SBS_RCVATMARK;
3129 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3131 so->so_rcv.sb_state & SBS_CANTRCVMORE)
3138 SOCKBUF_UNLOCK(&so->so_rcv);
3141 SOCKBUF_LOCK(&so->so_rcv);
3142 if (__predict_false(so->so_rcv.sb_mb == NULL &&
3144 so->so_rcv.sb_state & SBS_CANTRCVMORE)))
3147 SBLASTRECORDCHK(&so->so_rcv);
3148 SBLASTMBUFCHK(&so->so_rcv);
3153 if (so->so_rcv.sb_mb == NULL) {
3156 SOCKBUF_UNLOCK(&so->so_rcv);
3160 m = so->so_rcv.sb_mb;
3166 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3172 (void) sbdroprecord_locked(&so->so_rcv);
3181 so->so_rcv.sb_mb = nextrecord;
3182 if (so->so_rcv.sb_mb == NULL) {
3183 so->so_rcv.sb_mbtail = NULL;
3184 so->so_rcv.sb_lastrecord = NULL;
3186 so->so_rcv.sb_lastrecord = nextrecord;
3188 SBLASTRECORDCHK(&so->so_rcv);
3189 SBLASTMBUFCHK(&so->so_rcv);
3197 SOCKBUF_UNLOCK(&so->so_rcv);
3200 SOCKBUF_LOCK(&so->so_rcv);
3203 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3205 (flags & MSG_EOR) == 0 && (so->so_rcv.sb_state & SBS_CANTRCVMORE) == 0) {
3206 SOCKBUF_UNLOCK(&so->so_rcv);
3209 SOCKBUF_UNLOCK(&so->so_rcv);
3271 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3325 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3427 sb = &so->so_rcv;
3516 KASSERT((so->so_rcv.sb_state & SBS_RCVATMARK) == 0,
3524 SOCKBUF_LOCK(&so->so_rcv);
3525 while ((m = so->so_rcv.sb_mb) == NULL) {
3526 KASSERT(sbavail(&so->so_rcv) == 0,
3528 sbavail(&so->so_rcv)));
3532 SOCKBUF_UNLOCK(&so->so_rcv);
3535 if (so->so_rcv.sb_state & SBS_CANTRCVMORE ||
3537 SOCKBUF_UNLOCK(&so->so_rcv);
3542 SOCKBUF_UNLOCK(&so->so_rcv);
3545 SBLASTRECORDCHK(&so->so_rcv);
3546 SBLASTMBUFCHK(&so->so_rcv);
3549 SOCKBUF_UNLOCK(&so->so_rcv);
3553 SOCKBUF_LOCK_ASSERT(&so->so_rcv);
3557 SBLASTRECORDCHK(&so->so_rcv);
3558 SBLASTMBUFCHK(&so->so_rcv);
3561 KASSERT(so->so_rcv.sb_lastrecord == m,
3565 KASSERT(so->so_rcv.sb_mb->m_nextpkt == nextrecord,
3571 so->so_rcv.sb_mb = NULL;
3572 sockbuf_pushsync(&so->so_rcv, nextrecord);
3578 sbfree(&so->so_rcv, m2);
3583 SBLASTRECORDCHK(&so->so_rcv);
3584 SBLASTMBUFCHK(&so->so_rcv);
3585 SOCKBUF_UNLOCK(&so->so_rcv);
3927 &so->so_rcv.sb_timeo);
4160 so->so_rcv.sb_hiwat;
4174 so->so_rcv.sb_lowat;
4185 so->so_rcv.sb_timeo));
4452 (so->so_rcv.sb_state & SBS_RCVATMARK))
4455 if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
4461 if (so->so_rcv.sb_state & SBS_CANTRCVMORE)
4467 so->so_rcv.sb_flags |= SB_SEL;
4492 sb = &so->so_rcv;
4535 so->so_rcv.sb_flags &= ~SB_KNOTE;
4558 if ((so->so_rcv.sb_flags & SB_SPLICED) != 0)
4563 kn->kn_data = sbavail(&so->so_rcv) - so->so_rcv.sb_ctl;
4564 if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
4574 } else if (sbavail(&so->so_rcv) >= so->so_rcv.sb_lowat)
4893 sb = &so->so_rcv;
4914 sb = &so->so_rcv;
5067 sbtoxsockbuf(&so->so_rcv, &xso->so_rcv);
5068 if ((so->so_rcv.sb_flags & SB_SPLICED) != 0)