Created
October 7, 2017 18:15
-
-
Save Skarsnik/3fc513cbd7875220d2bd021a64286f51 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I think Socket::Inet could be a bit changed on how it's implemented. | |
Currently it has 2 defaults : | |
-The SA Familly attribute is totally ignored. | |
This means like in a case of localhost being ipv4 and ipv6 the user has no control over what protocole will be used. | |
-No way to specify on wisch ip/interface you want to bind your socket when you use connect | |
This mean that a server with multiple ip can't use them. | |
Proposed changes to fix that: | |
Use the argument passed to nqp::socket to specify the sa family. (actually it does nothing in MoarVM, look like a parrot reliquat?) | |
This will have 3 values: IPv4 IPv6 (AF_INET, AF_INET6) or Prefered | |
Prefered mean it will choose what the hostname resolution give us first. The 2 other will force the use of this family. | |
Change nqp::bindsock to only bind the socket and not do listen and a nqp::listensock operation that will listen. | |
This allow the case of specified source address directly in Rakudo, since it's a bind operation before connecting the socket. | |
This will also need to add a field for the sa-family in the MoarVM socket structure. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment