[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