Get rid unsafe pointer type in GetQueuedCompletionStatus.
This commit is contained in:
parent
81d4049797
commit
6c4870d812
3 changed files with 7 additions and 4 deletions
|
|
@ -182,8 +182,9 @@ when defined(windows) or defined(nimdoc):
|
||||||
var lpNumberOfBytesTransferred: DWORD
|
var lpNumberOfBytesTransferred: DWORD
|
||||||
var lpCompletionKey: ULONG
|
var lpCompletionKey: ULONG
|
||||||
var customOverlapped: PCustomOverlapped
|
var customOverlapped: PCustomOverlapped
|
||||||
let res = GetQueuedCompletionStatus(p.ioPort, addr lpNumberOfBytesTransferred,
|
let res = GetQueuedCompletionStatus(p.ioPort,
|
||||||
addr lpCompletionKey, addr customOverlapped, llTimeout).bool
|
addr lpNumberOfBytesTransferred, addr lpCompletionKey,
|
||||||
|
cast[ptr POverlapped](addr customOverlapped), llTimeout).bool
|
||||||
|
|
||||||
# http://stackoverflow.com/a/12277264/492186
|
# http://stackoverflow.com/a/12277264/492186
|
||||||
# TODO: http://www.serverframework.com/handling-multiple-pending-socket-read-and-write-operations.html
|
# TODO: http://www.serverframework.com/handling-multiple-pending-socket-read-and-write-operations.html
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,9 @@ when isMainModule:
|
||||||
proc cb(req: TRequest) {.async.} =
|
proc cb(req: TRequest) {.async.} =
|
||||||
#echo(req.reqMethod, " ", req.url)
|
#echo(req.reqMethod, " ", req.url)
|
||||||
#echo(req.headers)
|
#echo(req.headers)
|
||||||
await req.respond(Http200, "Hello World")
|
let headers = {"Date": "Tue, 29 Apr 2014 23:40:08 GMT",
|
||||||
|
"Content-type": "text/plain; charset=utf-8"}
|
||||||
|
await req.respond(Http200, "Hello World", headers.newStringTable())
|
||||||
|
|
||||||
server.serve(TPort(5555), cb)
|
server.serve(TPort(5555), cb)
|
||||||
runForever()
|
runForever()
|
||||||
|
|
|
||||||
|
|
@ -672,7 +672,7 @@ proc CreateIoCompletionPort*(FileHandle: THANDLE, ExistingCompletionPort: THANDL
|
||||||
|
|
||||||
proc GetQueuedCompletionStatus*(CompletionPort: THandle,
|
proc GetQueuedCompletionStatus*(CompletionPort: THandle,
|
||||||
lpNumberOfBytesTransferred: PDWORD, lpCompletionKey: PULONG,
|
lpNumberOfBytesTransferred: PDWORD, lpCompletionKey: PULONG,
|
||||||
lpOverlapped: pointer,
|
lpOverlapped: ptr POverlapped,
|
||||||
dwMilliseconds: DWORD): WINBOOL{.stdcall,
|
dwMilliseconds: DWORD): WINBOOL{.stdcall,
|
||||||
dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}
|
dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue