mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-05 04:56:10 +02:00
MAJOR: stream-int: only rely on SI_FL_ISBACK to find the requested channel
In order to plan removal of si->ib / si->ob, we now check the side of the stream interface and find the session, then the requested channel. In practice it's just an offset applied to the pointer based on the flag.
This commit is contained in:
parent
a5f5d8dc69
commit
0b2fb7f9a3
@ -49,13 +49,19 @@ void stream_int_unregister_handler(struct stream_interface *si);
|
||||
/* returns the channel which receives data from this stream interface (input channel) */
|
||||
static inline struct channel *si_ic(struct stream_interface *si)
|
||||
{
|
||||
return si->ib;
|
||||
if (si->flags & SI_FL_ISBACK)
|
||||
return &LIST_ELEM(si, struct session *, si[1])->res;
|
||||
else
|
||||
return &LIST_ELEM(si, struct session *, si[0])->req;
|
||||
}
|
||||
|
||||
/* returns the channel which feeds data to this stream interface (output channel) */
|
||||
static inline struct channel *si_oc(struct stream_interface *si)
|
||||
{
|
||||
return si->ob;
|
||||
if (si->flags & SI_FL_ISBACK)
|
||||
return &LIST_ELEM(si, struct session *, si[1])->req;
|
||||
else
|
||||
return &LIST_ELEM(si, struct session *, si[0])->res;
|
||||
}
|
||||
|
||||
/* Initializes all required fields for a new appctx. Note that it does the
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user