From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 6522C2C343 for ; Wed, 24 Apr 2019 12:47:03 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vRwZJHQskk17 for ; Wed, 24 Apr 2019 12:47:03 -0400 (EDT) Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 2221727A77 for ; Wed, 24 Apr 2019 12:47:03 -0400 (EDT) Date: Wed, 24 Apr 2019 19:46:59 +0300 From: Konstantin Osipov Subject: [tarantool-patches] Re: [PATCH 5/6] swim: introduce routing Message-ID: <20190424164659.GE13687@atlas> References: <6592ce57d8b6c7ef46202551f858a37ca2e18a2c.1556116199.git.v.shpilevoy@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6592ce57d8b6c7ef46202551f858a37ca2e18a2c.1556116199.git.v.shpilevoy@tarantool.org> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Vladislav Shpilevoy Cc: tarantool-patches@freelists.org * Vladislav Shpilevoy [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