From d5ccfa3fc5780b8429cd3ea56e37e5f568981b5c Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 28 Dec 2014 13:03:53 +0100 Subject: [PATCH] MINOR: channel: add chn_sess() helper to retrieve session from channel Channels already have to know what session they below to. Add a helper to retrieve this pointer so that we'll use it later. --- include/proto/channel.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/proto/channel.h b/include/proto/channel.h index 05084bb66..9907a51d6 100644 --- a/include/proto/channel.h +++ b/include/proto/channel.h @@ -54,6 +54,15 @@ int bo_getline_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int int bo_getblk_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); +/* returns a pointer to the session the channel belongs to */ +static inline struct session *chn_sess(const struct channel *chn) +{ + if (chn->flags & CF_ISRESP) + return LIST_ELEM(chn, struct session *, res); + else + return LIST_ELEM(chn, struct session *, req); +} + /* returns a pointer to the stream interface feeding the channel (producer) */ static inline struct stream_interface *chn_prod(const struct channel *chn) {