acl  3.5.3.0
acl::sslbase_io类 参考abstract

#include <sslbase_io.hpp>

+ 类 acl::sslbase_io 继承关系图:
+ acl::sslbase_io 的协作图:

Public 成员函数

 sslbase_io (sslbase_conf &conf, bool server_side, bool nblock=false)
 
virtual ~sslbase_io (void)
 
virtual bool handshake (void)=0
 
void set_non_blocking (bool yes)
 
bool is_non_blocking (void) const
 
bool handshake_ok (void)
 
void set_sni_host (const char *host)
 
- Public 成员函数 继承自 acl::stream_hook
 stream_hook (void)
 
virtual int read (void *buf, size_t len)=0
 
virtual int send (const void *buf, size_t len)=0
 
virtual bool open (ACL_VSTREAM *s)=0
 
virtual bool on_close (bool alive)
 
virtual void destroy (void)
 

Protected 属性

sslbase_confbase_conf_
 
bool server_side_
 
bool nblock_
 
bool handshake_ok_
 
atomic_longrefers_
 
ACL_VSTREAMstream_
 
string sni_host_
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::stream_hook
virtual ~stream_hook (void)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

在文件 sslbase_io.hpp13 行定义.

构造及析构函数说明

◆ sslbase_io()

acl::sslbase_io::sslbase_io ( sslbase_conf conf,
bool  server_side,
bool  nblock = false 
)

构造函数

参数
conf{sslbase_conf&} 对每一个 SSL 连接进行配置的类对象
server_side{bool} 是否为服务端模式,因为客户端模式与服务端 模式的握手方法不同,所以通过此参数来进行区分
nblock{bool} 是否为非阻塞模式

◆ ~sslbase_io()

virtual acl::sslbase_io::~sslbase_io ( void  )
virtual

成员函数说明

◆ handshake()

virtual bool acl::sslbase_io::handshake ( void  )
pure virtual

ssl 握手纯虚方法

返回
{bool}

acl::mbedtls_io , 以及 acl::polarssl_io 内被实现.

◆ handshake_ok()

bool acl::sslbase_io::handshake_ok ( void  )
inline

判断 SSL 握手是否成功

返回
{bool}

在文件 sslbase_io.hpp51 行定义.

52  {
53  return handshake_ok_;
54  }

◆ is_non_blocking()

bool acl::sslbase_io::is_non_blocking ( void  ) const
inline

判断当前设置的 SSL IO 是否阻塞模式还是非阻塞模式

返回
{bool} 返回 true 则表示为非阻塞模式,否则为阻塞模式

在文件 sslbase_io.hpp42 行定义.

43  {
44  return nblock_;
45  }

◆ set_non_blocking()

void acl::sslbase_io::set_non_blocking ( bool  yes)

设置套接字为阻塞模式/非阻塞模式

参数
yes{bool} 当为 false 时则设为阻塞模式,否则设为非阻塞模式

◆ set_sni_host()

void acl::sslbase_io::set_sni_host ( const char *  host)

设置 SNI HOST 字段

参数
host{const char*}

类成员变量说明

◆ base_conf_

sslbase_conf& acl::sslbase_io::base_conf_
protected

在文件 sslbase_io.hpp63 行定义.

◆ handshake_ok_

bool acl::sslbase_io::handshake_ok_
protected

在文件 sslbase_io.hpp66 行定义.

◆ nblock_

bool acl::sslbase_io::nblock_
protected

在文件 sslbase_io.hpp65 行定义.

◆ refers_

atomic_long* acl::sslbase_io::refers_
protected

在文件 sslbase_io.hpp67 行定义.

◆ server_side_

bool acl::sslbase_io::server_side_
protected

在文件 sslbase_io.hpp64 行定义.

◆ sni_host_

string acl::sslbase_io::sni_host_
protected

在文件 sslbase_io.hpp69 行定义.

◆ stream_

ACL_VSTREAM* acl::sslbase_io::stream_
protected

在文件 sslbase_io.hpp68 行定义.


该类的文档由以下文件生成: