GGist / ssdp-rs

Simple Service Discovery Protocol In Rust
Apache License 2.0
43 stars 14 forks source link

Foolproof the SSDPReceiver timeout mechanism #27

Closed ebarnard closed 8 years ago

ebarnard commented 8 years ago

On OS X it is possible to have addresses that cannot receive packets but can send them so set a socket read timeout just to be safe.

I noticed this on tun devices with ipv6 link-local addresses. Previously the receive_packets would never time out.

GGist commented 8 years ago

Ah yes. It seems that this would also fix the issue of having UdpSockets bound to 0.0.0.0 not being woken up when sending to their local_addr() to see that the kill flag has been set.

For the AppVeyor build, it looks like rustc 1.12.0 broke something with the Windows build using unstable features. I am going to install the latest nightly and see about fixing that before testing these changes and merging.

GGist commented 8 years ago

Ah yes, I didn't think to check the docs first; I think their decision in the linked issue seems reasonable.

Anyway, all is looking good, thanks for the pull request!

Cheers!