[
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)