Move asyncdispatch tests to asyncnet.

This commit is contained in:
Dominik Picheta 2014-03-26 10:31:16 +00:00
commit 4ed1ac0078
4 changed files with 89 additions and 128 deletions

View file

@ -957,80 +957,3 @@ proc runForever*() =
## Begins a never ending global dispatcher poll loop.
while true:
poll()
when isMainModule:
var p = newDispatcher()
var sock = p.socket()
sock.setBlocking false
when false:
# Await tests
proc main(p: PDispatcher): PFuture[int] {.async.} =
discard await p.connect(sock, "irc.freenode.net", TPort(6667))
while true:
echo("recvLine")
var line = await p.recvLine(sock)
echo("Line is: ", line.repr)
if line == "":
echo "Disconnected"
break
proc peekTest(p: PDispatcher): PFuture[int] {.async.} =
discard await p.connect(sock, "localhost", TPort(6667))
while true:
var line = await p.recv(sock, 1, MSG_PEEK)
var line2 = await p.recv(sock, 1)
echo(line.repr)
echo(line2.repr)
echo("---")
if line2 == "": break
sleep(500)
var f = main(p)
else:
when false:
var f = p.connect(sock, "irc.poop.nl", TPort(6667))
f.callback =
proc (future: PFuture[int]) =
echo("Connected in future!")
echo(future.read)
for i in 0 .. 50:
var recvF = p.recv(sock, 10)
recvF.callback =
proc (future: PFuture[string]) =
echo("Read ", future.read.len, ": ", future.read.repr)
else:
sock.bindAddr(TPort(6667))
sock.listen()
proc onAccept(future: PFuture[TSocketHandle]) =
let client = future.read
echo "Accepted ", client.cint
var t = p.send(client, "test\c\L")
t.callback =
proc (future: PFuture[int]) =
echo("Send: ", future.read)
client.close()
var f = p.accept(sock)
f.callback = onAccept
var f = p.accept(sock)
f.callback = onAccept
while true:
p.poll()