32
#define HOST_DB_MAX_ROUND_ROBIN_INFO 16
32
33
#define RAND_INV_RANGE(r) ((int) ((RAND_MAX + 1) / (r)))
37
37
unsigned int weight;
39
39
unsigned int priority;
41
unsigned int host_len;
41
43
char host[MAXDNAME];
45
SRV():weight(0), port(0), priority(0), ttl(0)
47
memset(host, 0, MAXDNAME);
50
unsigned int getWeight()
54
unsigned int getPriority() const
58
unsigned int getPort()
83
void setPriority(int p)
87
void setHost(const char *h)
90
Debug("dns_srv", "SRV::setHost() was passed a NULL host -- better check your code)");
95
Debug("dns_srv", "SRV::setHost() was passed a blank host -- better check what might have happened.");
99
ink_strlcpy(host, h, sizeof(host));
45
SRV():weight(0), port(0), priority(0), ttl(0), host_len(0), key(0)
105
operator<(const SRV & left, const SRV & right)
52
operator<(const SRV &left, const SRV &right)
107
return (left.getPriority() < right.getPriority()); /* lower priorities first :) */
54
// lower priorities first, then the key
55
return (left.priority == right.priority) ? (left.key < right.key) : (left.priority < right.priority);
110
extern ClassAllocator<SRV> SRVAllocator;
115
SortableQueue<SRV> hosts;
116
61
int srv_host_count;
63
SRV hosts[HOST_DB_MAX_ROUND_ROBIN_INFO];
122
while ((i = hosts.dequeue())) {
123
Debug("dns_srv", "freeing srv entry inside SRVHosts::~SRVHosts");
124
SRVAllocator.free(i);
128
SRVHosts():srv_host_count(0)
133
SortableQueue<SRV> *getHosts() {
137
void getWeightedHost(char *);
139
bool insert(SRV * rec)
148
return srv_host_count;
151
/* convert this HostDBInfo to an SRVHosts */
152
SRVHosts(HostDBInfo * info);
69
SRVHosts():srv_host_count(0), srv_hosts_length(0)