Utopia
Utopia copied to clipboard
AddrBook sendExcluding, sendAll, etc. throw an error if a host has left the network
For example, run a BeaconClock and then have one of the computers disconnect from the network.
Should sendAll etc. only send to online peers? This would be a problem if a peer simply became unresponsive.
Alternatively one could use try and catch the PrimitiveFailedError. Possibly there should be more than two states, so maybe online, unresponsive, and down, or something like that.
So it is possible to catch the error, but there will still be a small bit of code posted even if suppressed since boost::asio has it's own error posting, and seemingly no verbosity.
How about one of these:
- Peer has a classvar indicating whether to send to offline addresses. Hail, etc. already will set offline status when a machine becomes unresponsive, so if this is set to false in any situation where membership is a little volatile, then we won't get streams of errors.
- Hail etc. remove any members who have been unresponsive for a reasonable amount of time, or alternatively any members whose addrs have resulted in failed sends (one or some other reasonable limit).
In either case we must make sure that all Utopia sending goes via Peer (fine as it spoofs NetAddr now anyway.)
@muellmusik After this https://github.com/supercollider/supercollider/pull/2908#discussion_r119858749 has been merged, do you think this can now be caught?
Yes I can look at this this week
On 3 Jun 2017, at 20:59, Julian Rohrhuber [email protected] wrote:
After this supercollider/supercollider#2908 (comment) has been merged, do you think this can now be caught?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
great, this will be very useful!
I think this is resolved by primitive related cleanups?
when we make the next network music session, I'll check.