diff options
author | rockcavera <rockcavera@gmail.com> | 2020-04-30 17:50:37 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-30 22:50:37 +0200 |
commit | 33e9ac7cd3796e26ea95bb755f9a732a24366161 (patch) | |
tree | cde481d2ba11937d3ae3a49d43e5cb7fe83a4045 /tests | |
parent | 6b39b47abcf5c528dbaf84ca75b693d1fc4da004 (diff) | |
download | Nim-33e9ac7cd3796e26ea95bb755f9a732a24366161.tar.gz |
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
Diffstat (limited to 'tests')
-rw-r--r-- | tests/async/tasyncnetudp.nim | 25 |
1 files changed, 8 insertions, 17 deletions
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) |