[ 
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14511861#comment-14511861
 ] 

Susan Hinrichs commented on TS-3547:
------------------------------------

Well we are always using BIOs.  They are the underpinnings of the 
SSL_write/SSL_read calls too.  Mostly we using socket BIOs.  For example in the 
make_ssl_connection function, we set up a file descriptor BIO associated with 
the socket and a memory buffer BIO.  Then those BIOs are bound to the ssl 
object.  We then just use the standard SSL_read/SSL_write/SSL_accept calls.

I think you do need to call the SSL_* functions to do the appropriate 
encryption.  Look at the BIO_s_connect example you reference a couple comments 
up, I think they are just doing a HTTP exchange.

By replacing the socket BIO with a buffer BIO, you should be able to separate 
the encryption/decryption from the communication.  That is what we do on 
reading with the mem BIO.  I think you can do something similar with the write 
side, but I haven't dug into that.  Check out 
https://www.openssl.org/docs/crypto/BIO_s_mem.html



> SSLNetVConnection: switch to a vectored write
> ---------------------------------------------
>
>                 Key: TS-3547
>                 URL: https://issues.apache.org/jira/browse/TS-3547
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Network, SSL
>            Reporter: Thomas Jackson
>            Assignee: Brian Geffon
>             Fix For: 6.0.0
>
>
> UnixNetVConnection does a vectored write which bunches blocks together until 
> the outgoing buffer will fill up. This means we can better fill the packets, 
> and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to