From 65192f35d226d09a18ca7d3f63e75e40ee310505 Mon Sep 17 00:00:00 2001 From: "Thierry FOURNIER / OZON.IO" Date: Mon, 7 Nov 2016 15:28:40 +0100 Subject: [PATCH] MINOR: lua: add function which return true if the channel is full. Add function which return true if the channel is full. It is useful for triggering some process when the buffer is full. --- doc/lua-api/_static/channel.fig | 11 ++++++----- doc/lua-api/_static/channel.png | Bin 29133 -> 18457 bytes doc/lua-api/index.rst | 5 +++++ src/hlua.c | 19 +++++++++++++++++++ 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/doc/lua-api/_static/channel.fig b/doc/lua-api/_static/channel.fig index 0838a37cd..8a6c0a136 100644 --- a/doc/lua-api/_static/channel.fig +++ b/doc/lua-api/_static/channel.fig @@ -8,12 +8,12 @@ Single -2 1200 2 1 1 0 1 0 7 50 -1 -1 0.000 1 0.0000 4500 1620 1260 585 4500 1620 5760 2205 -2 3 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 9 +2 3 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 8 1170 1350 1170 1890 2790 1890 2790 2070 3240 1620 2790 1170 - 2790 1350 1170 1350 1170 1350 -2 3 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 9 + 2790 1350 1170 1350 +2 3 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 8 5760 1350 5760 1890 7380 1890 7380 2070 7830 1620 7380 1170 - 7380 1350 5760 1350 5760 1350 + 7380 1350 5760 1350 2 1 1 1 0 7 50 -1 -1 1.000 0 0 -1 1 0 2 5 1 1.00 60.00 120.00 6210 540 6210 1440 @@ -51,4 +51,5 @@ Single 4 0 0 50 -1 12 12 0.0000 4 150 720 6300 1110 send()\001 4 0 0 50 -1 12 12 0.0000 4 165 1560 6255 2205 get_out_len()\001 4 0 0 50 -1 16 12 0.0000 4 150 1230 6120 2520 read functions\001 -4 1 0 50 -1 16 12 0.0000 4 150 1650 4500 540 both side functions\001 +4 1 0 50 -1 16 12 0.0000 4 150 1650 4500 315 both side functions\001 +4 1 0 50 -1 12 12 0.0000 4 150 1080 4500 540 is_full()\001 diff --git a/doc/lua-api/_static/channel.png b/doc/lua-api/_static/channel.png index 79eb6f78df3b472b97d5baa4b89f4009c7b781a0..e12a26e819056622c808ba0e9c6536c2ccc05537 100644 GIT binary patch delta 13674 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

jS=vBk@Xj1jEuxUe_mRC#qF)y0V-# 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 diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index c42b2f308..77c22662c 100644 --- a/doc/lua-api/index.rst +++ b/doc/lua-api/index.rst @@ -1070,6 +1070,11 @@ Channel class :param class_channel channel: The manipulated Channel. :param integer int: The amount of data which will be forwarded. +.. js:function:: Channel.is_full(channel) + + This function returns true if the buffer channel is full. + + :returns: a boolean .. _http_class: diff --git a/src/hlua.c b/src/hlua.c index 121c283f1..db023f58c 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -2859,6 +2859,24 @@ __LJMP static int hlua_channel_get_in_len(lua_State *L) return 1; } +/* Returns true if the channel is full. */ +__LJMP static int hlua_channel_is_full(lua_State *L) +{ + struct channel *chn; + int rem; + + MAY_LJMP(check_args(L, 1, "is_full")); + chn = MAY_LJMP(hlua_checkchannel(L, 1)); + + rem = chn->buf->size; + rem -= chn->buf->o; /* Output size */ + rem -= chn->buf->i; /* Input size */ + rem -= global.tune.maxrewrite; /* Rewrite reserved size */ + + lua_pushboolean(L, rem <= 0); + return 1; +} + /* Just returns the number of bytes available in the output * side of the buffer. This function never fails. */ @@ -6765,6 +6783,7 @@ void hlua_init(void) hlua_class_function(gL.T, "forward", hlua_channel_forward); hlua_class_function(gL.T, "get_in_len", hlua_channel_get_in_len); hlua_class_function(gL.T, "get_out_len", hlua_channel_get_out_len); + hlua_class_function(gL.T, "is_full", hlua_channel_is_full); lua_rawset(gL.T, -3);