#include <haproxy/quic_frame.h>
#include <haproxy/quic_tp-t.h>
-struct xprt_qstrm_ctx {
+struct xprt_qmux_ctx {
struct connection *conn;
struct wait_event wait_event;
size_t rxrlen;
};
-DECLARE_STATIC_TYPED_POOL(xprt_qstrm_ctx_pool, "xprt_qstrm_ctx", struct xprt_qstrm_ctx);
+DECLARE_STATIC_TYPED_POOL(xprt_qmux_ctx_pool, "xprt_qmux_ctx", struct xprt_qmux_ctx);
-const struct quic_transport_params *xprt_qstrm_lparams(const void *context)
+const struct quic_transport_params *xprt_qmux_lparams(const void *context)
{
- const struct xprt_qstrm_ctx *ctx = context;
+ const struct xprt_qmux_ctx *ctx = context;
return &ctx->lparams;
}
-const struct quic_transport_params *xprt_qstrm_rparams(const void *context)
+const struct quic_transport_params *xprt_qmux_rparams(const void *context)
{
- const struct xprt_qstrm_ctx *ctx = context;
+ const struct xprt_qmux_ctx *ctx = context;
return &ctx->rparams;
}
/* Transfer Rx buffer into <out>. */
-size_t xprt_qstrm_xfer_rxbuf(void *context, struct buffer *out)
+size_t xprt_qmux_xfer_rxbuf(void *context, struct buffer *out)
{
- struct xprt_qstrm_ctx *ctx = context;
+ struct xprt_qmux_ctx *ctx = context;
if (b_data(&ctx->rxbuf)) {
*out = ctx->rxbuf;
return ctx->rxrlen;
}
-int conn_recv_qstrm(struct connection *conn, struct xprt_qstrm_ctx *ctx, int flag)
+int conn_recv_qmux(struct connection *conn, struct xprt_qmux_ctx *ctx, int flag)
{
struct quic_frame frm;
struct buffer *buf = &ctx->rxbuf;
return 0;
}
-int conn_send_qstrm(struct connection *conn, struct xprt_qstrm_ctx *ctx, int flag)
+int conn_send_qmux(struct connection *conn, struct xprt_qmux_ctx *ctx, int flag)
{
struct quic_frame frm;
struct buffer *buf = &ctx->txbuf;
return 0;
}
-struct task *xprt_qstrm_io_cb(struct task *t, void *context, unsigned int state)
+struct task *xprt_qmux_io_cb(struct task *t, void *context, unsigned int state)
{
- struct xprt_qstrm_ctx *ctx = context;
+ struct xprt_qmux_ctx *ctx = context;
struct connection *conn = ctx->conn;
int free = 0, ret;
if (conn->flags & CO_FL_QMUX_SEND) {
- if (!conn_send_qstrm(conn, ctx, CO_FL_QMUX_SEND)) {
+ if (!conn_send_qmux(conn, ctx, CO_FL_QMUX_SEND)) {
if (!(conn->flags & CO_FL_ERROR)) {
ctx->ops_lower->subscribe(conn, ctx->ctx_lower,
SUB_RETRY_SEND, &ctx->wait_event);
}
if (conn->flags & CO_FL_QMUX_RECV) {
- if (!conn_recv_qstrm(conn, ctx, CO_FL_QMUX_RECV)) {
+ if (!conn_recv_qmux(conn, ctx, CO_FL_QMUX_RECV)) {
if (!(conn->flags & CO_FL_ERROR)) {
ctx->ops_lower->subscribe(conn, ctx->ctx_lower,
SUB_RETRY_RECV, &ctx->wait_event);
b_free(&ctx->txbuf);
tasklet_free(ctx->wait_event.tasklet);
- pool_free(xprt_qstrm_ctx_pool, ctx);
+ pool_free(xprt_qmux_ctx_pool, ctx);
t = NULL;
if (ret == 0) {
return t;
}
-static int xprt_qstrm_add_xprt(struct connection *conn, void *xprt_ctx,
+static int xprt_qmux_add_xprt(struct connection *conn, void *xprt_ctx,
void *ctx_lower, const struct xprt_ops *ops_lower,
void **ctx_older, const struct xprt_ops **ops_older)
{
- struct xprt_qstrm_ctx *ctx = xprt_ctx;
+ struct xprt_qmux_ctx *ctx = xprt_ctx;
BUG_ON(ctx_older || ops_older);
ctx->ctx_lower = ctx_lower;
return 0;
}
-static int xprt_qstrm_init(struct connection *conn, void **xprt_ctx)
+static int xprt_qmux_init(struct connection *conn, void **xprt_ctx)
{
- struct xprt_qstrm_ctx *ctx;
+ struct xprt_qmux_ctx *ctx;
BUG_ON(*xprt_ctx);
- ctx = pool_alloc(xprt_qstrm_ctx_pool);
+ ctx = pool_alloc(xprt_qmux_ctx_pool);
if (!ctx) {
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
ctx->wait_event.tasklet = tasklet_new();
if (!ctx->wait_event.tasklet) {
conn->err_code = CO_ER_SSL_NO_MEM;
- pool_free(xprt_qstrm_ctx_pool, ctx);
+ pool_free(xprt_qmux_ctx_pool, ctx);
return -1;
}
- ctx->wait_event.tasklet->process = xprt_qstrm_io_cb;
+ ctx->wait_event.tasklet->process = xprt_qmux_io_cb;
ctx->wait_event.tasklet->context = ctx;
ctx->wait_event.events = 0;
return 0;
}
-static int xprt_qstrm_start(struct connection *conn, void *xprt_ctx)
+static int xprt_qmux_start(struct connection *conn, void *xprt_ctx)
{
- struct xprt_qstrm_ctx *ctx = xprt_ctx;
+ struct xprt_qmux_ctx *ctx = xprt_ctx;
tasklet_wakeup(ctx->wait_event.tasklet);
return 0;
}
-static void xprt_qstrm_close(struct connection *conn, void *xprt_ctx)
+static void xprt_qmux_close(struct connection *conn, void *xprt_ctx)
{
- struct xprt_qstrm_ctx *ctx = xprt_ctx;
+ struct xprt_qmux_ctx *ctx = xprt_ctx;
if (!ctx)
return;
conn->xprt = ctx->ops_lower;
tasklet_free(ctx->wait_event.tasklet);
- pool_free(xprt_qstrm_ctx_pool, ctx);
+ pool_free(xprt_qmux_ctx_pool, ctx);
}
-static int xprt_qstrm_get_alpn(const struct connection *conn, void *xprt_ctx,
- const char **str, int *len)
+static int xprt_qmux_get_alpn(const struct connection *conn, void *xprt_ctx,
+ const char **str, int *len)
{
- struct xprt_qstrm_ctx *ctx = xprt_ctx;
+ struct xprt_qmux_ctx *ctx = xprt_ctx;
return ctx->ops_lower->get_alpn(conn, ctx->ctx_lower, str, len);
}
struct xprt_ops xprt_qmux = {
- .add_xprt = xprt_qstrm_add_xprt,
- .init = xprt_qstrm_init,
- .start = xprt_qstrm_start,
- .close = xprt_qstrm_close,
- .get_alpn = xprt_qstrm_get_alpn,
+ .add_xprt = xprt_qmux_add_xprt,
+ .init = xprt_qmux_init,
+ .start = xprt_qmux_start,
+ .close = xprt_qmux_close,
+ .get_alpn = xprt_qmux_get_alpn,
.name = "qmux",
};
-static void __xprt_qstrm_init(void)
+static void __xprt_qmux_init(void)
{
xprt_register(XPRT_QMUX, &xprt_qmux);
}
-INITCALL0(STG_REGISTER, __xprt_qstrm_init);
+INITCALL0(STG_REGISTER, __xprt_qmux_init);