1 // -*- mode: cpp; mode: fold -*-
3 /* ######################################################################
7 ##################################################################### */
12 #include <arpa/nameser.h>
24 // each server is assigned a interval [start, end] in the space of [0, max]
25 int random_number_range_start
;
26 int random_number_range_end
;
27 int random_number_range_max
;
29 bool operator<(SrvRec
const &other
) const {
30 return this->priority
< other
.priority
;
34 /** \brief Get SRV records from host/port (builds the query string internally)
36 bool GetSrvRecords(std::string name
, std::vector
<SrvRec
> &Result
);
38 /** \brief Get SRV records for query string like: _http._tcp.example.com
40 bool GetSrvRecords(std::string host
, int port
, std::vector
<SrvRec
> &Result
);
42 /** \brief Pop a single SRV record from the vector of SrvRec taking
43 * priority and weight into account
45 SrvRec
PopFromSrvRecs(std::vector
<SrvRec
> &Recs
);