* 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]

Reply via email to