MINOR: stream-int/conn-stream: Move si_cs_io_cb() in the conn-stream scope

si_cs_io_cb() is renamed cs_conn_io_cb(). In addition, the context of the
tasklet used to wake-up the conn-stream is now a conn-stream.
This commit is contained in:
Christopher Faulet 2022-04-01 16:58:52 +02:00
parent 9029a72899
commit 4a7764ae9d
5 changed files with 12 additions and 13 deletions

View File

@ -38,7 +38,7 @@ void si_free(struct stream_interface *si);
/* main event functions used to move data between sockets and buffers */ /* main event functions used to move data between sockets and buffers */
int cs_applet_process(struct conn_stream *cs); int cs_applet_process(struct conn_stream *cs);
struct task *si_cs_io_cb(struct task *t, void *ctx, unsigned int state); struct task *cs_conn_io_cb(struct task *t, void *ctx, unsigned int state);
int si_sync_recv(struct stream_interface *si); int si_sync_recv(struct stream_interface *si);
void si_sync_send(struct stream_interface *si); void si_sync_send(struct stream_interface *si);

View File

@ -227,8 +227,8 @@ int cs_attach_mux(struct conn_stream *cs, void *target, void *ctx)
cs->wait_event.tasklet = tasklet_new(); cs->wait_event.tasklet = tasklet_new();
if (!cs->wait_event.tasklet) if (!cs->wait_event.tasklet)
return -1; return -1;
cs->wait_event.tasklet->process = si_cs_io_cb; cs->wait_event.tasklet->process = cs_conn_io_cb;
cs->wait_event.tasklet->context = cs->si; cs->wait_event.tasklet->context = cs;
cs->wait_event.events = 0; cs->wait_event.events = 0;
} }
@ -273,8 +273,8 @@ int cs_attach_strm(struct conn_stream *cs, struct stream *strm)
cs->si = NULL; cs->si = NULL;
return -1; return -1;
} }
cs->wait_event.tasklet->process = si_cs_io_cb; cs->wait_event.tasklet->process = cs_conn_io_cb;
cs->wait_event.tasklet->context = cs->si; cs->wait_event.tasklet->context = cs;
cs->wait_event.events = 0; cs->wait_event.events = 0;
cs->ops = &cs_app_conn_ops; cs->ops = &cs_app_conn_ops;

View File

@ -252,8 +252,8 @@ void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx)
s = (struct stream *)task->context; s = (struct stream *)task->context;
else if (task->process == task_run_applet && task->context) else if (task->process == task_run_applet && task->context)
s = cs_strm(((struct appctx *)task->context)->owner); s = cs_strm(((struct appctx *)task->context)->owner);
else if (task->process == si_cs_io_cb && task->context) else if (task->process == cs_conn_io_cb && task->context)
s = cs_strm(((struct stream_interface *)task->context)->cs); s = cs_strm(((struct conn_stream *)task->context));
if (s) if (s)
stream_dump(buf, s, pfx, '\n'); stream_dump(buf, s, pfx, '\n');

View File

@ -459,23 +459,22 @@ int si_cs_send(struct conn_stream *cs)
* stream interface. Thus it is always safe to perform a tasklet_wakeup() on a * stream interface. Thus it is always safe to perform a tasklet_wakeup() on a
* stream interface, as the presence of the CS is checked there. * stream interface, as the presence of the CS is checked there.
*/ */
struct task *si_cs_io_cb(struct task *t, void *ctx, unsigned int state) struct task *cs_conn_io_cb(struct task *t, void *ctx, unsigned int state)
{ {
struct stream_interface *si = ctx; struct conn_stream *cs = ctx;
struct conn_stream *cs = si->cs;
int ret = 0; int ret = 0;
if (!cs_conn(cs)) if (!cs_conn(cs))
return t; return t;
if (!(cs->wait_event.events & SUB_RETRY_SEND) && !channel_is_empty(si_oc(si))) if (!(cs->wait_event.events & SUB_RETRY_SEND) && !channel_is_empty(cs_oc(cs)))
ret = si_cs_send(cs); ret = si_cs_send(cs);
if (!(cs->wait_event.events & SUB_RETRY_RECV)) if (!(cs->wait_event.events & SUB_RETRY_RECV))
ret |= si_cs_recv(cs); ret |= si_cs_recv(cs);
if (ret != 0) if (ret != 0)
si_cs_process(cs); si_cs_process(cs);
stream_release_buffers(si_strm(si)); stream_release_buffers(__cs_strm(cs));
return t; return t;
} }

View File

@ -4917,7 +4917,7 @@ const void *resolve_sym_name(struct buffer *buf, const char *pfx, const void *ad
} fcts[] = { } fcts[] = {
{ .func = process_stream, .name = "process_stream" }, { .func = process_stream, .name = "process_stream" },
{ .func = task_run_applet, .name = "task_run_applet" }, { .func = task_run_applet, .name = "task_run_applet" },
{ .func = si_cs_io_cb, .name = "si_cs_io_cb" }, { .func = cs_conn_io_cb, .name = "cs_conn_io_cb" },
{ .func = sock_conn_iocb, .name = "sock_conn_iocb" }, { .func = sock_conn_iocb, .name = "sock_conn_iocb" },
{ .func = dgram_fd_handler, .name = "dgram_fd_handler" }, { .func = dgram_fd_handler, .name = "dgram_fd_handler" },
{ .func = listener_accept, .name = "listener_accept" }, { .func = listener_accept, .name = "listener_accept" },