Add var arguments to GC procedures, to disallow runtime exceptions.

This commit is contained in:
cheatfate 2018-06-11 23:50:45 +03:00
parent d2b93f309b
commit 978203691e
3 changed files with 8 additions and 7 deletions

View File

@ -535,7 +535,7 @@ proc send*(transp: DatagramTransport, pbytes: pointer,
transp.resumeWrite()
return retFuture
proc send*(transp: DatagramTransport, msg: string): Future[void] =
proc send*(transp: DatagramTransport, msg: var string): Future[void] =
## Send string ``msg`` using transport ``transp`` to remote destination
## address which was bounded on transport.
var retFuture = FutureGCString[void]()
@ -549,7 +549,7 @@ proc send*(transp: DatagramTransport, msg: string): Future[void] =
transp.resumeWrite()
return retFuture
proc send*[T](transp: DatagramTransport, msg: seq[T]): Future[void] =
proc send*[T](transp: DatagramTransport, msg: var seq[T]): Future[void] =
## Send string ``msg`` using transport ``transp`` to remote destination
## address which was bounded on transport.
var retFuture = FutureGCSeq[void, T]()
@ -576,7 +576,7 @@ proc sendTo*(transp: DatagramTransport, pbytes: pointer, nbytes: int,
transp.resumeWrite()
return retFuture
proc sendTo*(transp: DatagramTransport, msg: string,
proc sendTo*(transp: DatagramTransport, msg: var string,
remote: TransportAddress): Future[void] =
## Send string ``msg`` using transport ``transp`` to remote destination
## address ``remote``.
@ -592,7 +592,7 @@ proc sendTo*(transp: DatagramTransport, msg: string,
transp.resumeWrite()
return retFuture
proc sendTo*[T](transp: DatagramTransport, msg: seq[T],
proc sendTo*[T](transp: DatagramTransport, msg: var seq[T],
remote: TransportAddress): Future[void] =
## Send sequence ``msg`` using transport ``transp`` to remote destination
## address ``remote``.

View File

@ -882,7 +882,7 @@ proc write*(transp: StreamTransport, pbytes: pointer,
transp.resumeWrite()
return retFuture
proc write*(transp: StreamTransport, msg: string): Future[int] =
proc write*(transp: StreamTransport, msg: var string): Future[int] =
## Write data from string ``msg`` using transport ``transp``.
var retFuture = FutureGCString[int]()
transp.checkClosed(retFuture)
@ -895,7 +895,7 @@ proc write*(transp: StreamTransport, msg: string): Future[int] =
transp.resumeWrite()
return retFuture
proc write*[T](transp: StreamTransport, msg: seq[T]): Future[int] =
proc write*[T](transp: StreamTransport, msg: var seq[T]): Future[int] =
## Write sequence ``msg`` using transport ``transp``.
var retFuture = FutureGCSeq[int, T]()
transp.checkClosed(retFuture)

View File

@ -40,7 +40,8 @@ proc serveUdataStreamClient(server: StreamServer,
transp: StreamTransport) {.async.} =
var udata = getUserData[CustomData](server)
var line = await transp.readLine()
discard await transp.write(line & udata.test & "\r\n")
var msg = line & udata.test & "\r\n"
discard await transp.write(msg)
transp.close()
proc customServerTransport(server: StreamServer,