RIOReceive function doesn't work (RIO using IOCP notifications)

범종 김 0 Reputation points
2024-03-17T10:14:43.9733333+00:00

hello.

I want to using RIO for Winsock and IOCP notifications.

naively writes code, source link here .

I regist RIORecevie here

	RIO_NOTIFICATION_COMPLETION type;
...
	type.Type = RIO_IOCP_COMPLETION;
    type.Iocp.IocpHandle = hIOCP;
    type.Iocp.CompletionKey = &g_socket;
    type.Iocp.Overlapped = &overlapped;

...


	RIO_CQ Cqueue = g_rio.RIOCreateCompletionQueue(327680, &type);

...

	RIO_RQ Rqueue = g_rio.RIOCreateRequestQueue(g_socket, 256, 1, 256, 1, Cqueue, Cqueue, NULL);

...

	g_rio.RIOReceive(Rqueue, pBuf, 1, 0, pBuf);

...

	GetQueuedCompletionStatus(hIOCP, &localnumberOfBytes, &localcompletionKey, &localpOverlapped ,INFINITE);

RIOSend function work, so client received data.

but, RIORecevie function doesn't work when client send data.

how to correct my code to work RIORecevie?

Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,678 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.