diff options
author | Federico Ceratto <federico.ceratto@gmail.com> | 2019-02-13 19:57:25 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2019-02-17 17:04:57 +0000 |
commit | d8ff25f03250556c3ed99dbb7ad65d1cc627e1d3 (patch) | |
tree | 5ed3cdb945194533e0b385a2a73045bf53adeda3 /lib/pure | |
parent | a0fb77dfd5305b552b45fbe2f0a8c38ee8133b3a (diff) | |
download | Nim-d8ff25f03250556c3ed99dbb7ad65d1cc627e1d3.tar.gz |
Provide access to getsockname()/getpeername()
Port of #3323 with added tests
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/asyncnet.nim | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/pure/asyncnet.nim b/lib/pure/asyncnet.nim index 1c0681fad..56bda737a 100644 --- a/lib/pure/asyncnet.nim +++ b/lib/pure/asyncnet.nim @@ -166,6 +166,18 @@ proc newAsyncSocket*(domain: Domain = AF_INET, sockType: SockType = SOCK_STREAM, raiseOSError(osLastError()) result = newAsyncSocket(fd, domain, sockType, protocol, buffered) +proc getLocalAddr*(socket: AsyncSocket): (string, Port) = + ## Get the socket's local address and port number. + ## + ## This is high-level interface for `getsockname`:idx:. + getLocalAddr(socket.fd, socket.domain) + +proc getPeerAddr*(socket: AsyncSocket): (string, Port) = + ## Get the socket's peer address and port number. + ## + ## This is high-level interface for `getpeername`:idx:. + getPeerAddr(socket.fd, socket.domain) + proc newAsyncSocket*(domain, sockType, protocol: cint, buffered = true): AsyncSocket = ## Creates a new asynchronous socket. |