From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp38.i.mail.ru (smtp38.i.mail.ru [94.100.177.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A8D054696C3 for ; Tue, 14 Apr 2020 10:54:50 +0300 (MSK) Date: Tue, 14 Apr 2020 10:54:49 +0300 From: Kirill Yukhin Message-ID: <20200414075449.6naawxqaj37jtz37@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH v2 1/1] box: export box_session_push to the public C API List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org Hello, On 08 Apr 01:20, Vladislav Shpilevoy wrote: > API is different from box.session.push() - sync argument was > removed. It will disappear from Lua API as well, because it just > is not needed here. Session is omitted as well. Indeed, a user > can't push to a foreign session, and the current session can be > obtained inside box_session_push(). And anyway session is not in > the public C API. > > Internally dump into iproto is done using obuf_dup(), just like > tuple_to_obuf() does. obuf_alloc() would be a bad call here, > because it wouldn't be able to split the pushed data into several > obuf chunks, and would cause obuf fragmentation. > > Dump into plain text behaves just like a Lua push - it produces a > YAML formatted text or Lua text depending on output format. But to > turn MessagePack into YAML or Lua text an intermediate Lua > representation is used, because there are no a MessagePack -> YAML > and MessagePack -> Lua text translators yet. > > Closes #4734 > > @TarantoolBot document > Title: box_session_push() C API > > There is a new function in the public C API: > ```C > int > box_session_push(const char *data, const char *data_end); > ``` > > It takes raw MessagePack, and behaves just like Lua > `box.session.push()`. > --- > Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-4734-export-box-session-push > Issue: https://github.com/tarantool/tarantool/issues/4734 I've checked your patch into master. -- Regards, Kirill Yukhin