Skip to content

Commit

Permalink
use QUIC_ADDRESS_FAMILY enum for assigning socket family (#53673)
Browse files Browse the repository at this point in the history
  • Loading branch information
wfurt authored Jun 3, 2021
1 parent 5d64814 commit 01a8f49
Showing 1 changed file with 3 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,9 @@ namespace System.Net.Quic.Implementations.MsQuic.Internal
{
internal static class MsQuicAddressHelpers
{
internal const ushort IPv4 = 2;
internal const ushort IPv6 = 23;

internal static unsafe IPEndPoint INetToIPEndPoint(ref SOCKADDR_INET inetAddress)
{
if (inetAddress.si_family == IPv4)
if (inetAddress.si_family == (ushort)QUIC_ADDRESS_FAMILY.INET)
{
return new IPEndPoint(new IPAddress(MemoryMarshal.CreateReadOnlySpan<byte>(ref inetAddress.Ipv4.sin_addr[0], 4)), (ushort)IPAddress.NetworkToHostOrder((short)inetAddress.Ipv4.sin_port));
}
Expand All @@ -34,11 +31,11 @@ internal static unsafe SOCKADDR_INET IPEndPointToINet(IPEndPoint endpoint)
{
case AddressFamily.InterNetwork:
endpoint.Address.TryWriteBytes(MemoryMarshal.CreateSpan<byte>(ref socketAddress.Ipv4.sin_addr[0], 4), out _);
socketAddress.Ipv4.sin_family = IPv4;
socketAddress.Ipv4.sin_family = (ushort)QUIC_ADDRESS_FAMILY.INET;
break;
case AddressFamily.InterNetworkV6:
endpoint.Address.TryWriteBytes(MemoryMarshal.CreateSpan<byte>(ref socketAddress.Ipv6.sin6_addr[0], 16), out _);
socketAddress.Ipv6.sin6_family = IPv6;
socketAddress.Ipv6.sin6_family = (ushort)QUIC_ADDRESS_FAMILY.INET6;
break;
default:
throw new ArgumentException(SR.net_quic_addressfamily_notsupported);
Expand Down

0 comments on commit 01a8f49

Please sign in to comment.