[tarantool-patches] [PATCH v3 5/6] [RAW] swim: send one UDP packet per EV_WRITE event

Konstantin Osipov kostja at tarantool.org
Wed Jan 9 16:53:44 MSK 2019


* Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [18/12/29 15:07]:
> Since the first commit of #3234, where anti-entropy component was
> introduced, a single SWIM message could be split into multiple
> UDP packets. But so far these packets were being sent in mere
> 'for' loop on a single EV_WRITE event. It is not proper way of
> using event loop, but the simplest, because does not require any
> externally stored positions in packet lists.
> 
> The previous commit introduced such global list of UDP packets to
> send, and now it is much simpler to send each packet on separate
> EV_WRITE event. This commit does it.
> 

Looks like this commit breaks encapsulation of the transport
layer.

One thing, is that we should not have tasks which require sending
multiple packets.

Another is that the packet concept is part of the transport and
should not leak into the protocol itself.


-- 
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.io - www.twitter.com/kostja_osipov



More information about the Tarantool-patches mailing list