[PATCH 1/3] socket: evaluate buffer size in recv / recvfrom
Alexander Turenko
alexander.turenko at tarantool.org
Mon Aug 27 03:08:49 MSK 2018
On Fri, Aug 24, 2018 at 06:25:42PM +0300, Vladimir Davydov wrote:
> On Fri, Aug 24, 2018 at 05:47:37AM +0300, Alexander Turenko wrote:
> > diff --git a/src/lua/socket.lua b/src/lua/socket.lua
> > index 06306eae2..946e11e9e 100644
> > --- a/src/lua/socket.lua
> > +++ b/src/lua/socket.lua
> > @@ -770,6 +770,41 @@ local function socket_send(self, octets, flags)
> > return tonumber(res)
> > end
> >
> > +local function socket_is_udp(self)
> > + local fd = check_socket(self)
> > + if self.itype == nil then
> > + self.itype = self:getsockopt('SOL_SOCKET', 'SO_TYPE')
>
> I think you could instead set itype in socket constructor.
>
That will increase memory consumption in case when it is not needed to
know itype: say, for sending sockets (I should add comment about this,
of course). However I think it is worth to cache it when revc / recvfrom
is used intensively to avoid extra syscall.
Do you think we can ignore extra memory comsumption in this case?
WBR, Alexander Turenko.
More information about the Tarantool-patches
mailing list