]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/srvrec.h
improve CheckDropPrivsMustBeDisabled further
[apt.git] / apt-pkg / contrib / srvrec.h
index 78d238c46784443e277e221fde25aaaf4e99e1b4..e07edc68322377fde5389d25c96021eb15105773 100644 (file)
@@ -3,7 +3,7 @@
 /* ######################################################################
 
    SRV record support
-  
+
    ##################################################################### */
                                                                        /*}}}*/
 #ifndef SRVREC_H
@@ -21,11 +21,27 @@ class SrvRec
    u_int16_t weight;
    u_int16_t port;
 
+   // each server is assigned a interval [start, end] in the space of [0, max]
+   int random_number_range_start;
+   int random_number_range_end;
+   int random_number_range_max;
+
    bool operator<(SrvRec const &other) const { 
       return this->priority < other.priority; 
    }
 };
 
+/** \brief Get SRV records from host/port (builds the query string internally) 
+ */
 bool GetSrvRecords(std::string name, std::vector<SrvRec> &Result);
 
+/** \brief Get SRV records for query string like: _http._tcp.example.com
+ */
+bool GetSrvRecords(std::string host, int port, std::vector<SrvRec> &Result);
+
+/** \brief Pop a single SRV record from the vector of SrvRec taking
+ *         priority and weight into account
+ */
+SrvRec PopFromSrvRecs(std::vector<SrvRec> &Recs);
+
 #endif