Marius Slyzius wrote:
Hello all.
I am trying to run ScimoreDB database which uses fibers, non-blocked IO for sockets and files, and completion port. It did started ok under 0.9.5 and seems it is working!!!:), so I would like to verify few things about async IO with completion ports before recompiling it with winelib.
You mean 0.9.50, right?
- will write/read file/socket with completion port is true
asynchronous operation. I am asking because every time write/read operation returns true, and never IO pending error.
Not sure it is asynchronous for files, should be asynchronous for sockets.
- possible bug: the server sends 1500 bytes with WsaSend ( with 2
WSABUFFER ) and the client receive only 1452 bytes and calls WsaRecv again. Also on the server, the completion port receive event that transferred 1452 bytes. However, the last 8 bytes are never sends nor completion port event arrives. Is it perhaps something to do with the VMWare tool where I run Ubuntu 7.10?
WsaSend can send partial data when operating on non-blocking socket; from your description it looks like this is the case. Is this error reproducible with the same numbers every run? Your both questions are actually not about IOCP but about asynchronous I/O support.
Please, send me an info also to my mail: marius@scimore.com , because I might miss the answer here.
Thank you!
Marius Slyzius
Scimore UAB
(+45) 40862122