如何启用boost asio ssl_mode_release_buffers

时间:2014-01-06 20:33:34

标签: boost openssl boost-asio

我正在使用boost :: asio编写SSL服务器。我的目标是大约30k并发连接(稍后可能更高)。所以我很自然地希望每个SSL连接的内存要求尽可能低。我发现我应该设置SSL_MODE_RELEASE_BUFFERS。但是我还没有找到关于如何使用boost :: asio启用它的明确答案。

我正在寻找与

相当的boost :: asio
SSL_set_mode(ssl, SSL_MODE_RELEASE_BUFFERS);

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

默认情况下,在所有最新版本的Boost(1.47.0及更高版本)中,只要您使用最新版本的OpenSSL,就会在Boost Asio中设置SSL_MODE_RELEASE_BUFFERS。自OpenSSL 1.0.0d以来,SSL_MODE_RELEASE_BUFFERS选项可用。

请参阅boost/asio/ssl/detail/impl/engine.ipp中的以下几行:

#if defined(SSL_MODE_RELEASE_BUFFERS) 
  ::SSL_set_mode(ssl_, SSL_MODE_RELEASE_BUFFERS); 
#endif // defined(SSL_MODE_RELEASE_BUFFERS) 

大约3年前添加了它:https://svn.boost.org/trac/boost/changeset/71706