acl  3.5.3.0
acl::HttpSession类 参考

#include <HttpSession.hpp>

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

Public 成员函数

 HttpSession (session &session)
 
virtual ~HttpSession (void)
 
virtual const char * getAttribute (const char *name) const
 
virtual const void * getAttribute (const char *name, size_t *size) const
 
virtual bool getAttributes (std::map< string, session_string > &attrs) const
 
virtual bool getAttributes (const std::vector< string > &names, std::vector< session_string > &values) const
 
virtual bool setAttribute (const char *name, const char *value)
 
virtual bool setAttribute (const char *name, const void *value, size_t len)
 
virtual bool setAttributes (const std::map< string, session_string > &attrs)
 
virtual bool removeAttribute (const char *name)
 
virtual bool setMaxAge (time_t ttl)
 
virtual bool invalidate (void)
 
const char * getSid (void) const
 
- Public 成员函数 继承自 acl::dbuf_obj
 dbuf_obj (dbuf_guard *guard=NULL)
 
virtual ~dbuf_obj ()
 
int pos () const
 
dbuf_guardget_guard () const
 

Protected 属性

sessionsession_
 

详细描述

服务端 HttpSession 类,目前该类的数据存储只能支持存在 memcached 上

在文件 HttpSession.hpp16 行定义.

构造及析构函数说明

◆ HttpSession()

acl::HttpSession::HttpSession ( session session)

构造函数

参数
session{session&} 缓存对象

◆ ~HttpSession()

virtual acl::HttpSession::~HttpSession ( void  )
virtual

成员函数说明

◆ getAttribute() [1/2]

virtual const char* acl::HttpSession::getAttribute ( const char *  name) const
virtual

获得客户端在服务端存储的 session 的字符串属性值

参数
name{const char*} session 属性名,非空
返回
{const char*} session 属性值,返回地址永远非空指针,用户 可以通过判断返回地址是否为空串("\0")来判断是否存在或出错 注:该函数返回非空数据后,用户应该立刻保留此返回值,因为下次 的其它函数调用可能会清除该临时返回数据

◆ getAttribute() [2/2]

virtual const void* acl::HttpSession::getAttribute ( const char *  name,
size_t *  size 
) const
virtual

获得客户端在服务端存储的 session 的二进制属性值

参数
name{const char*} session 属性名,非空
size{size_t*} 该参数非空且属性值非空时,该指针地址 存储返回属性值的大小
返回
{const void*} session 属性值,为空指针时说明不存在 或内部查询失败 注:该函数返回非空数据后,用户应该立刻保留此返回值,因为下次 的其它函数调用可能会清除该临时返回数据

◆ getAttributes() [1/2]

virtual bool acl::HttpSession::getAttributes ( std::map< string, session_string > &  attrs) const
virtual

从服务端获得对应客户端的所有会话属性对象,这样可以减少与服务端的交互次数

参数
attrs{std::map<string, session_string>&}
返回
{bool} 是否成功

◆ getAttributes() [2/2]

virtual bool acl::HttpSession::getAttributes ( const std::vector< string > &  names,
std::vector< session_string > &  values 
) const
virtual

从服务端获得对应客户端的相应属性集合

参数
names{const std::vector<string>&} 属性名集合
values{std::vector<session_string>&} 存储对应的属性值结果集
返回
{bool} 是否成功

◆ getSid()

const char* acl::HttpSession::getSid ( void  ) const

获得所产生的 session ID 标识

返回
{const char*} 永远返回以 '\0' 结尾的非空指针,可根据返回 值是否为空串("\0")来判断 sid 是否存在

◆ invalidate()

virtual bool acl::HttpSession::invalidate ( void  )
virtual

使 session 从服务端的缓存中删除即使 session 失效

返回
{bool} 是否使 session 失效

◆ removeAttribute()

virtual bool acl::HttpSession::removeAttribute ( const char *  name)
virtual

删除客户端 session 中的某个属性值

参数
name{const char*} session 属性名,非空
返回
{bool} 删除是否成功

◆ setAttribute() [1/2]

virtual bool acl::HttpSession::setAttribute ( const char *  name,
const char *  value 
)
virtual

在设置服务端设置 session 的字符串属性值

参数
name{const char*} session 属性名,非空
value{const char*} session 属性值,非空
返回
{bool} 返回 false 说明设置失败

◆ setAttribute() [2/2]

virtual bool acl::HttpSession::setAttribute ( const char *  name,
const void *  value,
size_t  len 
)
virtual

在设置服务端设置 session 的二进制属性值

参数
name{const char*} session 属性名,非空
value{const void*} session 属性值,非空
len{size_t} value 数据长度
返回
{bool} 返回 false 说明设置失败

◆ setAttributes()

virtual bool acl::HttpSession::setAttributes ( const std::map< string, session_string > &  attrs)
virtual

在服务端设置 session 属性集合,这样可以减少与后端的交互次数

参数
attrs{const std::map<string, session_string>&} 属性集合对象
返回
{bool} 设置是否成功

◆ setMaxAge()

virtual bool acl::HttpSession::setMaxAge ( time_t  ttl)
virtual

设置 session 在缓存服务器上的生存周期

参数
ttl{time_t} 生存周期(秒)
返回
{bool} 是否成功

类成员变量说明

◆ session_

session& acl::HttpSession::session_
protected

在文件 HttpSession.hpp116 行定义.


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