[tarantool-patches] Re: [PATCH 5/6] swim: introduce routing

Konstantin Osipov kostja at tarantool.org
Wed Apr 24 19:46:59 MSK 2019


* Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [19/04/24 18:50]:

there is a couple of things I don't understand:

- how do you make a decision that you need to use a proxy? is it
  random? is it if there are too many unacknowledged pings?

- how do you make a decision which proxy to use? Do you choose a
  single peer or all available peers when you need to send a
  message via a proxy?

- how is the result returned to the sender? As far as I can see
  from the route section, there is only source and destination
  addresses, but it doesn't contain entire routing path. Do you
  assume there is always only one intermediate hop in case of an
  indirect ping and always respond to the direct sender, assuming
  the sender has a direct connection to the originator?

Please document answers to these questions in the code, it
constitutes the mechanics of indirect pings.

> +void
> +swim_task_proxy(struct swim_task *task, const struct sockaddr_in *proxy)

Why not "swim_task_set_proxy_addr"?


-- 
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