* Prashant Kumar <[EMAIL PROTECTED]> [2005-04-28 06:11:38 -0700]: > I had one question on the timer management and retransmission. I see that > there is a new BIO type in the file bss_dgram.c. My question is if the > application does not use the dgram BIO type and use the memory BIO instead, > does the application has to take the responsibility of timer management and > retransmission ?
If you are using a memory BIO for doing I/O, then you are also using DTLS in non-blocking mode -- in this case, the application is responsible for managing timeouts. When a timer expires, the application calls SSL_read() / SSL_write(), and the DTLS layer will take care of retransmitting. You may want to look at resiprocate/sip/resiprocate/DtlsTransport.cxx for an implementation of something very similar to the scenario you describe. On a high level, reSIProcate does the following: 1) many DTLS sessions use the same file descriptor for network I/O. 2) after data is read from the network, data is passed to the appropriate DTLS session (based on remote IP address & port number) through a mem BIO. nagendra ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]