From 8194f97685b4af2bbf0cdbdc88fe5332ad147353 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 20 May 2014 15:08:21 +0200 Subject: add sorting by priority --- apt-pkg/contrib/srvrec.cc | 7 +++++++ apt-pkg/contrib/srvrec.h | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apt-pkg/contrib/srvrec.cc b/apt-pkg/contrib/srvrec.cc index d5d89fc67..352a56970 100644 --- a/apt-pkg/contrib/srvrec.cc +++ b/apt-pkg/contrib/srvrec.cc @@ -12,6 +12,8 @@ #include #include +#include + #include #include "srvrec.h" @@ -89,5 +91,10 @@ bool GetSrvRecords(std::string name, std::vector &Result) Result.push_back(rec); } + // sort them + std::stable_sort(Result.begin(), Result.end()); + + // FIXME: implement weight selection as specified in RFC-2782 + return true; } diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h index 583907706..78d238c46 100644 --- a/apt-pkg/contrib/srvrec.h +++ b/apt-pkg/contrib/srvrec.h @@ -21,8 +21,9 @@ class SrvRec u_int16_t weight; u_int16_t port; - // see rfc-2782 - //int random; + bool operator<(SrvRec const &other) const { + return this->priority < other.priority; + } }; bool GetSrvRecords(std::string name, std::vector &Result); -- cgit v1.2.3