* 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 [email protected]
Automated List Manager [EMAIL PROTECTED]