On Wed, 19 Mar 2003 09:51:20 -0700, Verdon Walker wrote:

>We have one thread wanting to write a large amount of data (say 2
>Meg).
>OpenSSL will break that data up into 16k chunks, SSLize them and
>write
>each separately. During the process, it is using the "rwstate" in
>the
>SSL structure to indicate the status of the write operation. How do
>I
>then process a "cancel" instruction that I might receive from an
>impatient client who decides they don't want or need to see all 2
>Meg of
>data? Is it safe to do a read operation between the writes of each
>16k
>chunk or do I need to wait until all 2 Meg have been written? With
>clear
>sockets, a separate thread for reading and writing works very well
>to
>handle this. With OpenSSL, the state of the write can easily be
>stomped
>on by reading the "cancel".

        OpenSSL doesn't support cancelable operations simply because it is
extremely rare that someone would want to use them. You may implement
your own buffering with asynchronous semantics if you wish. You could
also use OpenSSL BIO pairs for this purpose.

        OpenSSL just can't give you the same semantics TCP does without
being integrated into the operating system.

        DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to