From 33e9ac7cd3796e26ea95bb755f9a732a24366161 Mon Sep 17 00:00:00 2001 From: rockcavera Date: Thu, 30 Apr 2020 17:50:37 -0300 Subject: fix sendTo and recvFrom in asyncnet (#14154) * added high level sendTo and recvFrom to std/asyncnet; tests were also added. * add .since annotation, a changelog entry and fixed to standard library style guide. * Improved asserts msgs and added notes for use with UDP sockets * pointers removed in parameters and fixes * added .since annotation * minor fixes --- tests/async/tasyncnetudp.nim | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'tests') diff --git a/tests/async/tasyncnetudp.nim b/tests/async/tasyncnetudp.nim index bb0f244e5..3494def37 100644 --- a/tests/async/tasyncnetudp.nim +++ b/tests/async/tasyncnetudp.nim @@ -21,9 +21,7 @@ proc saveReceivedPort(port: Port) = recvports = recvports + int(port) proc launchSwarm(serverIp: string, serverPort: Port) {.async.} = - var - buffer = newString(16384) - i = 0 + var i = 0 while i < swarmSize: var sock = newAsyncSocket(nativesockets.AF_INET, nativesockets.SOCK_DGRAM, @@ -36,16 +34,13 @@ proc launchSwarm(serverIp: string, serverPort: Port) {.async.} = var k = 0 while k < messagesToSend: - zeroMem(addr(buffer[0]), 16384) - let message = "Message " & $(i * messagesToSend + k) - await sendTo(sock, message, serverIp, serverPort) + await asyncnet.sendTo(sock, serverIp, serverPort, message) - let (size, fromIp, fromPort) = await recvFrom(sock, addr buffer[0], - 16384) + let (data, fromIp, fromPort) = await recvFrom(sock, 16384) - if buffer[0 .. (size - 1)] == message: + if data == message: saveSendingPort(localPort) inc(recvCount) @@ -59,17 +54,13 @@ proc launchSwarm(serverIp: string, serverPort: Port) {.async.} = proc readMessages(server: AsyncSocket) {.async.} = let maxResponses = (swarmSize * messagesToSend) - var - buffer = newString(16384) - i = 0 + var i = 0 while i < maxResponses: - zeroMem(addr(buffer[0]), 16384) - - let (size, fromIp, fromPort) = await recvFrom(server, addr buffer[0], 16384) + let (data, fromIp, fromPort) = await recvFrom(server, 16384) - if buffer.startswith("Message ") and fromIp == "127.0.0.1": - await sendTo(server, buffer[0 .. (size - 1)], fromIp, fromPort) + if data.startswith("Message ") and fromIp == "127.0.0.1": + await sendTo(server, fromIp, fromPort, data) inc(msgCount) -- cgit 1.4.1-2-gfad0