[mnet-devel] why relay currently doesn't work

Bryce O'Whielacronx zooko at zooko.com
Thu Oct 23 15:55:00 BST 2003


Ah, I see that relay isn't working correctly right now.

This is a problem of the MT, not of the v0.6.2.239-STABLE code.

The nodes are contacting the MT, saying "you can communicate with me by 
relaying through so-and-so".  And the MT is thinking to itself "Ah!  But 
I have a BETTER way to communicate with this guy: by using this open TCP 
socket here!" So it forgets all about the relay strategy.  Then later when 
someone else asks how to contact that guy, the MT says "Well, if you were 
*me*, you would use this open TCP socket I have here.  But since you can't, 
I have no idea.".

I will fix this by making the v0.7 code base handle multiple alternative comm 
strats.  I'm pleased to see that the v0.6 code base already does:

newcs = reduce(CommStrat.choose_best_strategy, commstrat_list)
self._ch.use_comm_strategy(counterparty_id, newcs)

So as long as there aren't bugs in CommStrat.choose_best_strategy(), a 
v0.6.2.239-STABLE node will do the right thing.  This is a rare case of 
"coding for future compatibility" actually working.  But we don't know that 
CommStrat.choose_best_strategy() actually does the right thing yet...

--Z



-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel




More information about the Mnet-devel mailing list