You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when matter.js binds UDP socket errors to logs, it dumps any errors after the bind succeeds to logs without additional context.
Instead we should track these errors and pass them to caller on next call to onData. In onData itself we should also interrupt the listen if an error occurs. Possibly should log a warning for send if socket has known error although the OS would maybe handle better in that case so requires additional research.
The prevent problematic interfaces from adversely affecting startup in this case we can also add logic to places where we bind on multiple addresses/interfaces to log errors (including address & interface info) so long as one bind succeeds. If all binds fail then the error(s) should be rethrown.
For that last bit it would probably make sense to also throw if the only successful binds are on loop-local interfaces. In the unlikely case the user has a broken interface and wants a "local only" Matter node they can of course just specify the local interface at startup.
The text was updated successfully, but these errors were encountered:
Currently when matter.js binds UDP socket errors to logs, it dumps any errors after the bind succeeds to logs without additional context.
Instead we should track these errors and pass them to caller on next call to
onData
. InonData
itself we should also interrupt the listen if an error occurs. Possibly should log a warning forsend
if socket has known error although the OS would maybe handle better in that case so requires additional research.The prevent problematic interfaces from adversely affecting startup in this case we can also add logic to places where we bind on multiple addresses/interfaces to log errors (including address & interface info) so long as one bind succeeds. If all binds fail then the error(s) should be rethrown.
For that last bit it would probably make sense to also throw if the only successful binds are on loop-local interfaces. In the unlikely case the user has a broken interface and wants a "local only" Matter node they can of course just specify the local interface at startup.
The text was updated successfully, but these errors were encountered: