[tarantool-patches] Re: [PATCH 1/1] evio: allow not only SOCK_STREAM servers

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Dec 18 13:18:55 MSK 2018



On 18/12/2018 13:08, Vladimir Davydov wrote:
> On Mon, Dec 17, 2018 at 02:55:44PM +0300, Vladislav Shpilevoy wrote:
>> evio is a useful tool for creating servers. Evio sets
>> all necessary flags, retries bind, parses URI. But it
>> does not work with SOCK_DGRAM sockets - SOCK_STREAM is
>> hardcoded. SWIM is going to use SOCK_DGRAM, and this
>> patch makes it possible to bind datagram sockets.
>>
>> Needed for #3234
>> ---
>> https://github.com/tarantool/tarantool/tree/gerold103/gh-3234-swim-second-preparation
>> https://github.com/tarantool/tarantool/issues/3234
>>
>>   src/box/iproto.cc |  4 ++--
>>   src/coio.cc       |  4 ++--
>>   src/evio.c        | 48 +++++++++++++++++++++++++++++++++++------------
>>   src/evio.h        | 19 ++++++++++++++++---
>>   4 files changed, 56 insertions(+), 19 deletions(-)
> 
> I don't think it's a good idea to reuse evio_service_bind() for SWIM
> configuration as it's blocking (it uses getaddrinfo). Anyway, do we
> really need this extra level of abstraction? Wouldn't it be more
> straightforward to use sio/ev/coio directly instead?
> 

Evio will allow UNIX sockets in future. But as you wish.




More information about the Tarantool-patches mailing list