acl/lib_acl_cpp/include/acl_cpp/memcache/memcache_pool.hpp

34 lines
1001 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "acl_cpp/acl_cpp_define.hpp"
#include "acl_cpp/connpool/connect_pool.hpp"
namespace acl
{
/**
* memcache 客户端连接池类,该类父类为 connect_pool该类只需实现父类中的虚函数
* create_connect 便拥有了连接池父类 connect_pool 的功能;另外,该类创建
* 的连接对象是 memcache 对象,所以在调用 connect_pool::peek 时返回
* 的便是 http_request 类,调用者需要将 peek 返回的类对象强制转为 memcache
* 类对象,便可以使用 memcache 类折所有功能,其中 memcache 类为
* connect_client 的子类
*/
class ACL_CPP_API memcache_pool : public connect_pool
{
public:
/**
* 构造函数
* @param addr {const char*} 服务端地址格式ip:port
* @param count {size_t} 连接池的最大连接数限制,当该值为 0 时则没有限制
* @param idx {size_t} 该连接池对象在集合中的下标位置(从 0 开始)
*/
memcache_pool(const char* addr, size_t count, size_t idx = 0);
~memcache_pool();
protected:
// 基类纯虚函数
virtual connect_client* create_connect();
};
} // namespace acl