Le 17/09/2012 17:50, Tomasz Sterna a écrit :
I would just make it temporary and extend it to all routing levels.
Whenever the router makes a (random) decision to choose one of equal
binds to route to, it sticks to this decision for a predefined time.

        Hmm... I was thinking while writing pseudo-code...

        About routing levels and the "user@domain" binding... With this 
solution, there's no more domain-only level at the beginning, so each SM should bind 
directly bare JIDs and domains (still with auto-binding).

        Moreover, as the same SM will manage all "user@domain", there is no 
more full JID binding level either...

        This simplifies binding and routing (and all changes needed to the 
code), as we only have to maintain 2 hash tables (preferably), one for domains 
(with multiple routes/priorities) and one for bare JIDs (with only 1 route and 
no priority, everything would be managed by the SM)...

        To sum it up, it is the end of the adaptive routing... And this has an 
implication, it is that the router memory consumption will be higher than 
before with single-router architecture... Then wouldn't it be a good solution 
to --enable-multi-router at ./configure time? It would add the burden of 
maintaining both binding/routing solutions (hopefully only in the router) but 
it will make the changes invisible to the currently deployed servers.

        Is it still an acceptable solution for you, or do we have to think 
again (maybe from the beginning) and find another better solution?
--
--      \^/                                            --
--    -/ O \---------------------------------------    --
--   | |/ \|      Alexandre (Midnite) Jousset      |   --
--    -|___|---------------------------------------    --


Reply via email to