I am using SSL_read and BIO_read on BIO_mem. I am seeing some behaviour that is confusing and maybe someone can help me understand.
When I get data off the communication line I do a BIO_write of the data. I then do a SSL_read( result is a SSL_ERROR_WANT_READ). So I go and do a BIO_read. What I have noticed is that the BIO out structure num_write/num_read values cancel each other. However, int the SSL structure the wbio num_write/num_read do not ( exampel num_write=755 num_read=0). Only when I have recieved another message and some cycles have passed ( I am debugging) and stepping throught the code.....do I see the SSL wbio num_read= 755 at a very strange time. I am working in windows and have the project set to MDd and am using the libeay32 and ssleay32 MDd libraries. Does anybody know what is going on. I have been struggling with just the basic handshake and modeling the handshake against a blocking type mechanism. Thanks