I have a problem with combining openssl with windows IOCP.
Usually without IOCP you can just call ssl_accept and it will handle the incoming data as soon it's available and respond. But with IOCP I call WSARecv and then GetQueuedCompletionStatus returns when incoming data is available. The problem is that GetQueuedCompletionStatus returns with the incoming data (it takes it away from the internal buffer) so if i call SSL_accept at this point it has nothing to work with.
Is there a way where I can transfer the incoming data to a "ssl_buffer" so it's available for the ssl engine?
I've looked into BIO_read/BIO_write/make_pair but I don't find a good explanation on how it should be done and I can't figure it out on my own.