Skip to content
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

WIP: Join multicast group on all interfaces #1750

Closed
wants to merge 6 commits into from

Conversation

eskimor
Copy link
Contributor

@eskimor eskimor commented Sep 12, 2020

Fix issue #1518.

We now join the multicast group on all interfaces, instead of just the default interface. This definitely fixes the node discovery for me. Initially I mentioned that there is also a problem with the query_socket, but I don't think this is true (it does not make sense and everything seems to work with this change). Nevertheless I will do some more testing on Monday and provide an additional PR for that problem if need be.

@eskimor eskimor changed the title Join multicast group on all interfaces WIP: Join multicast group on all interfaces Sep 14, 2020
@eskimor
Copy link
Contributor Author

eskimor commented Sep 14, 2020

Turns out younger me was right, query socket needs fixing as well.

@mxinden
Copy link
Member

mxinden commented Sep 15, 2020

Depending on all of pnet just to get the hosts seems worrisome. See this discussion #1514 (comment).

Are there any smaller crates out there offering the same functionality?

@eskimor
Copy link
Contributor Author

eskimor commented Sep 15, 2020

Thanks @mxinden! I believe so, I am currently investigating multicast-socket, which actually does exactly what we need and does not rely on pnet. Looks promising so far.

@eskimor eskimor force-pushed the rk-issue-1518 branch 2 times, most recently from e0e46da to 68d95a9 Compare September 30, 2020 10:34
@eskimor eskimor marked this pull request as draft October 2, 2020 10:19
This avoids duplicate symbols when all features are enabled.
for async_std. tokio does not work yet on Windows, due to missing
implementation of as_raw_handle.
Have tokio variant and async-std variant of `set_multicast_if_v4` be
named differntly and pass the name in into the code generation macro for
the mdns service.
pnet is apparently rather hard to build on windows and get-if-addrs is
no longer maintained. Replace both with now maintained if-addrs.
Also factored out networking code in its own module and started a test
suite.
@romanb
Copy link
Contributor

romanb commented Dec 7, 2020

I believe this is already done now as part of #1830. Feel free to open new issues if the approach taken there seems inadequate or incorrect to you.

@romanb romanb closed this Dec 7, 2020
@eskimor
Copy link
Contributor Author

eskimor commented Dec 7, 2020

Looks good to me :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants