Fix for nim-eth-p2p.
This commit is contained in:
parent
02c27c95a1
commit
b055467e9c
|
@ -6,10 +6,9 @@
|
||||||
# Licensed under either of
|
# Licensed under either of
|
||||||
# Apache License, version 2.0, (LICENSE-APACHEv2)
|
# Apache License, version 2.0, (LICENSE-APACHEv2)
|
||||||
# MIT license (LICENSE-MIT)
|
# MIT license (LICENSE-MIT)
|
||||||
from net import IpAddressFamily, IpAddress, `$`, parseIpAddress
|
import os, strutils, nativesockets, net
|
||||||
import os, strutils, nativesockets
|
|
||||||
import ../asyncloop
|
import ../asyncloop
|
||||||
export IpAddressFamily
|
export net
|
||||||
|
|
||||||
when defined(windows):
|
when defined(windows):
|
||||||
import winlean
|
import winlean
|
||||||
|
@ -351,6 +350,20 @@ proc toSAddr*(address: TransportAddress, sa: var Sockaddr_storage,
|
||||||
else:
|
else:
|
||||||
discard
|
discard
|
||||||
|
|
||||||
|
proc address*(ta: TransportAddress): IpAddress =
|
||||||
|
## Converts ``TransportAddress`` to ``net.IpAddress`` object.
|
||||||
|
##
|
||||||
|
## Note its impossible to convert ``TransportAddress`` of ``Unix`` family,
|
||||||
|
## because ``IpAddress`` supports only IPv4, IPv6 addresses.
|
||||||
|
if ta.family == AddressFamily.IPv4:
|
||||||
|
result = IpAddress(family: IpAddressFamily.IPv4)
|
||||||
|
result.address_v4 = ta.address_v4
|
||||||
|
elif ta.family == AddressFamily.IPv6:
|
||||||
|
result = IpAddress(family: IpAddressFamily.IPv6)
|
||||||
|
result.address_v6 = ta.address_v6
|
||||||
|
else:
|
||||||
|
raise newException(ValueError, "IpAddress supports only IPv4/IPv6!")
|
||||||
|
|
||||||
proc resolveTAddress*(address: string,
|
proc resolveTAddress*(address: string,
|
||||||
family = AddressFamily.IPv4): seq[TransportAddress] =
|
family = AddressFamily.IPv4): seq[TransportAddress] =
|
||||||
## Resolve string representation of ``address``.
|
## Resolve string representation of ``address``.
|
||||||
|
|
Loading…
Reference in New Issue