From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Timur Safin <tsafin@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org,
'Vladislav Shpilevoy' <v.shpilevoy@tarantool.org>
Subject: Re: [Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers
Date: Fri, 16 Oct 2020 01:47:02 +0300 [thread overview]
Message-ID: <20201015224702.4ciwuhlvr2vfswj6@tkn_work_nb> (raw)
In-Reply-To: <055301d6a342$51ed3f00$f5c7bd00$@tarantool.org>
> : > +}
> : > +
> : > +void
> : > +box_ibuf_read_range(box_ibuf_t *ibuf, char ***rpos, char ***wpos)
> : > +{
> : > + assert(ibuf != NULL);
> : > + if (ibuf == NULL)
> : > + return;
> : > + if (rpos != NULL)
> : > + *rpos = &ibuf->rpos;
> : > + if (wpos != NULL)
> : > + *wpos = &ibuf->wpos;
> :
> : 3. I would better assume all the arguments are not NULL, and document
> : it. Especially ibuf itself. We need some border where to stop the
> : sanity checks, and this looks like an overkill already. For example,
> : box_tuple_ref() also works with a pointer, but it does not check for
> : it being not NULL. It is just stupid to call method of an object with
> : that object passed as NULL. The same below.
>
> Please see updated branch tsafin/gh-5273-expand-module-api-v4 for the
> current version. For rpos and wpos I need to check for NULL because
> we may call for only single, particular argument (like we do in some
> cases in current external module) thus we pass NULL there.
I think we should allow to pass NULL to the third parameters, but not to
the second ones. I don't see a reason to obtain 'wpos' using
_read_range() (it looks more natural to do so using _write_range()) and
to obtain just 'end' without left side of the buffer. To copy something
from right to left without the left border check? Maybe... However it
does not look how the for 'ibuf', where both pointers are moving forward
(it is defined by the _reserve() semantic).
next prev parent reply other threads:[~2020-10-15 22:46 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 23:01 [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module Timur Safin
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 1/4] module api: export box_tuple_validate Timur Safin
2020-10-15 21:38 ` Alexander Turenko
2020-10-15 21:47 ` Timur Safin
2020-10-15 22:03 ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 2/4] module api: export box_key_def_dup Timur Safin
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 3/4] module api: introduced luaT_toibuf instead of luaL_checkibuf Timur Safin
2020-10-14 3:50 ` Alexander Turenko
2020-10-15 21:07 ` Timur Safin
2020-10-15 22:04 ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers Timur Safin
2020-10-14 3:31 ` Alexander Turenko
2020-10-15 21:35 ` Timur Safin
2020-10-15 21:42 ` Alexander Turenko
2020-10-15 21:44 ` Timur Safin
2020-10-15 21:52 ` Alexander Turenko
2020-10-15 22:07 ` Vladislav Shpilevoy
2020-10-15 22:20 ` Alexander Turenko
2020-10-15 22:27 ` Timur Safin
2020-10-15 22:47 ` Alexander Turenko [this message]
2020-10-15 22:37 ` Alexander Turenko
2020-10-15 22:48 ` Alexander Turenko
2020-10-15 22:39 ` [Tarantool-patches] [PATCH 2.X v4.1] " Timur Safin
2020-10-16 6:10 ` [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module Alexander Turenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201015224702.4ciwuhlvr2vfswj6@tkn_work_nb \
--to=alexander.turenko@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=tsafin@tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox