Le 12/10/2012 19:53, Tomasz Sterna a écrit :
        We do. In the simplest way to do it, routers don't forward other 
routers' binding requests. Of course it is possible to implement it to allow 
multi-hops, but I'm afraid this could lead to problems (and inefficiency) for 
no real gain (except simplistic configuration). Of course it would be easier to 
only list just one router of the mesh when adding a router, but I would prefer 
sacrificing this easiness in favor of efficiency. After all, the administrator 
has all knowledge about its server architecture. So when adding a router, the 
config file should list *all* other already running routers in the mesh.

What if you do not manage all the routers in the mesh?
And you were given a password to access only one or two routers of the
mesh?

In my proposal nothing stops you from making each router know all the
others to make it more efficient, but it shouldn't be _required_.

        Ok.

        Also, in the pseudo-code I've written (and started to implement) I had 
to make a distinction between local components and remote routers, just for 
efficiency, to allow the use of a local component preferably before trying a 
remote one. So the local components have greater priorities than remote ones, 
and both are chosen with weighted random in their category. What do you think 
about this?

"Explicit is better than implicit."
If you want local components to have higher priority - just say so in
the configuration file. But default should be that remote binds are as
equal as local ones.

        We talked earlier about weighted randomization instead of priorities. 
With weighted randomization it is impossible to be sure that a local component 
will be preferred, this is why I made an implicit priority for local 
components, still using weighted random between local components, or between 
remote components when needed.

        To do otherwise, we should use weighted random + priorities, this would 
add more complexity and misunderstanding in the configuration process.

        But maybe I've misunderstood something?

        Finally, I've added a "routers.xml" file (with a final 's', naming can 
be changed of course) to allow reloading it dynamically to change its connections 
settings if needed. What do you think about this? Do you think it could be necessary?

Seams reasonable and simple.
"remote-routers.xml" maybe?

        Ok.
--
--      \^/                                            --
--    -/ O \---------------------------------------    --
--   | |/ \|      Alexandre (Midnite) Jousset      |   --
--    -|___|---------------------------------------    --


Reply via email to