Re: [asio-users] asio architecture and ssl support.
Brought to you by:
chris_kohlhoff
From: Christopher K. <ch...@ko...> - 2005-04-19 04:58:27
|
Hi Anton, --- Anton Dedov <ad...@sw...> wrote: > 1. Why it is developed as a set of header files? My goal was to make it simple to use in a project, in that all you need to do is add the asio and boost include directories to your include path. I wanted to avoid users needing to mess around with import libraries, or worrying about whether they are using the same C runtime library as the DLL (e.g. with MSVC, where mixing static vs DLL runtime library can cause problems). Note that this shouldn't prevent it from being used in libraries, either static or dynamic, as part of something else. > I thought it can > rise some > issues with multiple symbol definitiions, etc. Have you encountered > any > issues with such architecture? All the symbols should be templates or inline functions, and in these cases duplicates should be stripped out by the linker. I haven't encountered any errors with this approach on either Windows or UNIX. > 2. When the SSL support is planned to be introduced? How difficult > its > implementation; may be you could tell some tips regarding this to > allow > me to try implement it my-self. I will need SSL support some time later this year, although I wouldn't be able to start implementing it until June at the earliest. The current plan is to implement it as a template called ssl_stream (similar to the existing buffered_stream template). It would use the BIO functions in OpenSSL to "run" the SSL state machine. It would probably be something like the ACE_SSL_Asynch_Stream implementation in ACE: http://cvs.doc.wustl.edu/ace-cvs.cgi/ACE_wrappers/ace/SSL/ That's about all I know so far :) Cheers, Chris |