diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-03-22 15:42:40 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-03-22 22:33:53 +0000 |
commit | 2ce9f1c77f9aa4504c55c75c57e74a5ad840916d (patch) | |
tree | d0f2c9802eb85d95da9fd9a1ebc3b5e7185ff838 /tests/async | |
parent | 5bf45d92854dd9b95fc35c6d2a646c70432825b8 (diff) | |
download | Nim-2ce9f1c77f9aa4504c55c75c57e74a5ad840916d.tar.gz |
Copied most blocking socket operations to the net module.
Diffstat (limited to 'tests/async')
-rw-r--r-- | tests/async/tasyncawait.nim | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/async/tasyncawait.nim b/tests/async/tasyncawait.nim index 91dfb7932..ae22d8d52 100644 --- a/tests/async/tasyncawait.nim +++ b/tests/async/tasyncawait.nim @@ -3,7 +3,7 @@ discard """ cmd: "nimrod cc --hints:on $# $#" output: "5000" """ -import asyncio2, sockets2, net, strutils +import asyncio2, sockets2, net, strutils, os var disp = newDispatcher() var msgCount = 0 @@ -50,8 +50,19 @@ proc readMessages(disp: PDispatcher, client: TSocketHandle) {.async.} = proc createServer(disp: PDispatcher, port: TPort) {.async.} = var server = disp.socket() #disp.register(server) - server.bindAddr(port) - server.listen() + block: + var name: TSockaddr_in + when defined(windows): + name.sin_family = toInt(AF_INET).int16 + else: + name.sin_family = toInt(AF_INET) + name.sin_port = htons(int16(port)) + name.sin_addr.s_addr = htonl(INADDR_ANY) + if bindAddr(server, cast[ptr TSockAddr](addr(name)), + sizeof(name).TSocklen) < 0'i32: + osError(osLastError()) + + discard server.listen() while true: var client = await disp.accept(server) readMessages(disp, client) |