From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: Alexander Turenko <alexander.turenko@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type Date: Wed, 30 Sep 2020 01:20:37 +0200 [thread overview] Message-ID: <2373999e-86e4-66db-3d3f-349b2fcc2795@tarantool.org> (raw) In-Reply-To: <20200929050900.4xzupgi24zvddgfo@tkn_work_nb> On 29.09.2020 07:09, Alexander Turenko wrote: >>> diff --git a/src/lua/utils.h b/src/lua/utils.h >>> index 7639cd64a..9b1fe7e57 100644 >>> --- a/src/lua/utils.h >>> +++ b/src/lua/utils.h >>> @@ -78,6 +78,8 @@ luaL_pushuuid(struct lua_State *L); >>> >>> /** \cond public */ >>> >>> +struct luaL_Reg; >> >> 1. It does not seem to be public. How are users supposed to work with that? >> Igor, could you please take a look at this? >> >> If you need it so badly, at least we need a wrapper around luaL_Reg >> or we need to expose it and document too. Probably Igor has better ideas. > > It is exposed from lauxlib.h, no need to duplicate in the module API. Thanks, didn't know it is public. Ok, then no question here. >>> + >>> /** >>> * @brief Checks whether a value on the Lua stack is a cdata. >>> * >>> @@ -442,6 +444,8 @@ luaL_checkfield(struct lua_State *L, struct luaL_serializer *cfg, int idx, >>> luaL_convertfield(L, cfg, idx, field); >>> } >>> >>> +/** \cond public */ >>> + >>> void >>> luaL_register_type(struct lua_State *L, const char *type_name, >>> const struct luaL_Reg *methods); >> >> 2. These newly exported methods don't have a single comment. Why? > > luaL_register_*() are our helpers around luaL_register(), AFAIR. A > module should use the latter. In that case I don't see why do we need to export them. luaL_register_module() is a wrapper around luaL_register() to support multilevel modules like 'box.space', 'net.box', etc. With '.' in them, AFAIS. And a few error checks. It is not bad to have a bit excessive but commonly used or perf critical things in module.h, but there is a certain border of what is "commonly used" and "perf critical". Module registration does not seem to me fitting any of these categories (subjectively). So if it can be done without any new exports, I would stick to that.
next prev parent reply other threads:[~2020-09-29 23:20 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-24 17:00 [Tarantool-patches] [PATCH 2.X 0/7] RFC: module api: extend for external merger Lua module Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 1/7] module api: export box_tuple_validate Timur Safin 2020-09-28 22:20 ` Vladislav Shpilevoy 2020-10-02 12:24 ` Timur Safin 2020-10-09 1:11 ` Alexander Turenko 2020-10-09 20:11 ` Vladislav Shpilevoy 2020-10-10 1:19 ` Alexander Turenko 2020-09-29 5:25 ` Alexander Turenko 2020-10-05 7:35 ` Alexander Turenko 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 2/7] module api: export box_key_def_dup Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:03 ` Alexander Turenko 2020-09-29 23:19 ` Vladislav Shpilevoy 2020-10-01 3:05 ` Alexander Turenko 2020-10-02 12:25 ` Timur Safin 2020-10-02 12:26 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 3/7] module api: luaT_newthread Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-10-02 12:27 ` Timur Safin 2020-10-02 21:48 ` Vladislav Shpilevoy 2020-09-29 6:25 ` Alexander Turenko 2020-10-02 12:26 ` Timur Safin 2020-10-02 12:53 ` Alexander Turenko 2020-09-29 15:19 ` Igor Munkin 2020-10-02 16:12 ` Timur Safin 2020-10-03 16:57 ` Igor Munkin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:09 ` Alexander Turenko 2020-09-29 23:20 ` Vladislav Shpilevoy [this message] 2020-09-30 6:31 ` Alexander Turenko 2020-09-30 6:33 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-09-29 8:03 ` Igor Munkin 2020-09-29 23:21 ` Vladislav Shpilevoy 2020-10-02 16:14 ` Timur Safin 2020-10-03 3:24 ` Alexander Turenko 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 5/7] module api: luaT_temp_luastate & luaT_release_temp_luastate Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:17 ` Alexander Turenko 2020-09-29 23:21 ` Vladislav Shpilevoy 2020-10-01 3:35 ` Alexander Turenko 2020-09-29 15:10 ` Igor Munkin 2020-09-29 21:03 ` Alexander Turenko 2020-09-29 23:23 ` Vladislav Shpilevoy 2020-09-30 10:09 ` Alexander Turenko 2020-10-01 15:06 ` Igor Munkin 2020-10-03 2:16 ` Alexander Turenko 2020-10-02 12:24 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 6/7] module api: luaL_checkibuf & luaL_checkconstchar Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:53 ` Alexander Turenko 2020-09-29 23:25 ` Vladislav Shpilevoy 2020-10-01 3:00 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-10-02 21:48 ` Vladislav Shpilevoy 2020-10-08 13:50 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 7/7] module api: luaL_cdata_iscallable Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:19 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-10-02 12:23 ` [Tarantool-patches] [PATCH 2.X 0/7] RFC: module api: extend for external merger Lua module Timur Safin 2020-10-02 21:49 ` Vladislav Shpilevoy 2020-10-03 2:54 ` 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=2373999e-86e4-66db-3d3f-349b2fcc2795@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type' \ /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