struct qcs {
struct qcc *qcc;
- struct conn_stream *cs;
struct cs_endpoint *endp;
uint32_t flags; /* QC_SF_* */
void *ctx; /* app-ops context */
static inline struct conn_stream *qc_attach_cs(struct qcs *qcs, struct buffer *buf)
{
- struct conn_stream *cs;
-
- cs = cs_new_from_mux(qcs->endp, qcs->qcc->conn->owner, buf);
- if (!cs)
+ if (!cs_new_from_mux(qcs->endp, qcs->qcc->conn->owner, buf))
return NULL;
- qcs->cs = cs;
- ++qcs->qcc->nb_cs;
- return cs;
+ ++qcs->qcc->nb_cs;
+ return qcs->endp->cs;
}
#endif /* USE_QUIC */
struct htx *htx = NULL;
struct htx_sl *sl;
struct http_hdr list[global.tune.max_http_hdr];
- struct conn_stream *cs;
unsigned int flags = HTX_SL_F_NONE;
struct ist meth = IST_NULL, path = IST_NULL;
//struct ist scheme = IST_NULL, authority = IST_NULL;
if (fin)
htx->flags |= HTX_FL_EOM;
- cs = qc_attach_cs(qcs, &htx_buf);
- if (!cs)
+ if (!qc_attach_cs(qcs, &htx_buf))
return -1;
/* buffer is transferred to conn_stream and set to NULL
qcs->stream = NULL;
qcs->qcc = qcc;
- qcs->cs = NULL;
+ qcs->endp = NULL;
qcs->flags = QC_SF_NONE;
qcs->ctx = NULL;
TRACE_ENTER(QMUX_EV_STRM_END, qcc->conn, qcs);
- qcs->cs = NULL;
--qcc->nb_cs;
if ((b_data(&qcs->tx.buf) || qcs->tx.offset > qcs->tx.sent_offset) &&
node = eb64_next(node)) {
qcs = eb64_entry(node, struct qcs, by_id);
- if (!qcs->cs)
+ if (!qcs->endp->cs)
continue;
if (qcc->conn->flags & CO_FL_ERROR) {
qcs_notify_recv(qcs);
qcs_notify_send(qcs);
}
- else if (qcs->cs->data_cb->wake) {
- qcs->cs->data_cb->wake(qcs->cs);
+ else if (qcs->endp->cs->data_cb->wake) {
+ qcs->endp->cs->data_cb->wake(qcs->endp->cs);
}
}
}