Only use socket.set_reuse_port
on supported operating systems
#1
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.
Hey!
In
server.rs
thesocket2::Socket::set_reuse_port
function is used. This function, as explained in the documentation is only available under "Unix and neither Solaris nor illumos". This PR ensures that this line is only ran on targets where it is supported. This allowsmetrics
to be used on e.g. Windows. This does change the behaviour between unix and non-unix systems, so if another solutions is prefered please feel free to suggest! To note: According to this stackoverflow post, Windows with onlySO_REUSEADDR
, set by the line above, behaves close to exactly the same as BSD with bothSO_REUSEPORT
andSO_REUSEADDR
.