lib/connections: Add QUIC protocol support (fixes #5377) (#5737)

This commit is contained in:
Audrius Butkevicius
2019-05-29 08:56:40 +01:00
committed by Jakob Borg
parent d8fa61e27c
commit e714df013f
32 changed files with 1290 additions and 128 deletions

View File

@@ -10,7 +10,6 @@ import (
"fmt"
"net/url"
"reflect"
"sort"
"strconv"
"strings"
)
@@ -111,21 +110,23 @@ func CopyMatchingTag(from interface{}, to interface{}, tag string, shouldCopy fu
}
}
// UniqueStrings returns a list on unique strings, trimming and sorting them
// at the same time.
func UniqueStrings(ss []string) []string {
var m = make(map[string]bool, len(ss))
for _, s := range ss {
m[strings.Trim(s, " ")] = true
// UniqueTrimmedStrings returns a list on unique strings, trimming at the same time.
func UniqueTrimmedStrings(ss []string) []string {
// Trim all first
for i, v := range ss {
ss[i] = strings.Trim(v, " ")
}
var us = make([]string, 0, len(m))
for k := range m {
us = append(us, k)
var m = make(map[string]struct{}, len(ss))
var us = make([]string, 0, len(ss))
for _, v := range ss {
if _, ok := m[v]; ok {
continue
}
m[v] = struct{}{}
us = append(us, v)
}
sort.Strings(us)
return us
}