Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compatibility with linux #2
Fix compatibility with linux #2
Changes from 6 commits
f3cd095
791ccde
152cb81
8faa681
37125eb
10d49e6
aa068d8
d81e009
cd6793f
5e5a4ec
cb1a23c
9c9359e
df5633e
3926ae5
abf5c1d
6c1945d
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So there's a guaranteed link-local address? What if someone configures the wrong interface? I believe we still do need this exception, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, there is no guarantee. So, first we need to check if the interface specified exists, secondly, we need to check if the interface contains a link-local address. If any of those checks fail, we raise an error and we are not supposed to go on, i.e. the application is supposed to crash.
Before, the code would just check if we had provided an interface and would not even check if the interface actually existed (would also not check, in this case if the interface had a valid link-local address). Later on, in case the interface didn't exist, this would throw an error but wouldnt be completely explicit:
I modified the code to tackle that issue, but I realise now that it is not enough and we also need to check for the validity of the local link
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Due to the changes on handling exceptions I did some reworking on the UDP client and server services, as in some occasions (namely, when an invalid interface was selected) the code would throw the error:
This was happening, because the UDP server and client tasks were not being handled by the
wait_until_finished
, which cancels properly the tasks in the list of tasks.