nlsCppSdk/vipServerClient/iphost.h (57 lines of code) (raw):
#ifndef MIDDLEWARE_VIPCLIENT_IPHOST_INFO_H_
#define MIDDLEWARE_VIPCLIENT_IPHOST_INFO_H_
namespace middleware {
namespace vipclient {
class IPHostImpl;
class IPHost {
public:
IPHost();
IPHost(const IPHostImpl& impl);
~IPHost();
IPHost(const IPHost& other);
IPHost& operator=(const IPHost& other);
public:
int port() const; //端口
int weight() const; //权重
bool valid() const; //是否有效
const char* ip() const; // ip地址
const char* unit() const; //单元名字
const char* host_name() const; // host
const char* app_use_type() const; //应用类型
const char* site() const; //机房信息
const char* cluster() const; //集群
double original_weight() const; //原始权重带浮点
void set_port(int v);
void set_weight(int v);
void set_valid(bool v);
void set_ip(const char* v);
void set_unit(const char* v);
void set_host_name(const char* v);
void set_app_use_type(const char* v);
void set_site(const char* v);
void set_cluster(const char* v);
void set_original_weight(double d);
private:
IPHostImpl* impl_;
};
class IPHostArrayImpl;
class IPHostArray {
public:
IPHostArray();
IPHostArray(const IPHostArrayImpl& iphosts);
~IPHostArray();
IPHostArray(const IPHostArray& other);
IPHostArray& operator=(const IPHostArray& other);
public:
void add(const IPHost& iphost);
void set(unsigned int index, const IPHost& iphost);
const IPHost& get(unsigned int index) const;
const IPHost* array_ptr() const;
unsigned int size() const;
void clear();
private:
IPHostArrayImpl* impl_;
};
} // namespace vipclient
} // namespace middleware
#endif // MIDDLEWARE_VIPCLIENT_IPHOST_INFO_H_