summaryrefslogtreecommitdiffhomepage
path: root/ios/RelaySelector
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2023-04-19 11:08:52 +0100
committerEmīls <emils@mullvad.net>2023-05-22 10:18:27 +0200
commite5b73d7abc1b50cfbb9c6f056bf66fef28fef5b2 (patch)
tree4e0c6cf3336c69c1c97b0640d5c06bc27819594c /ios/RelaySelector
parent77f51e690b26346ff4b251c27eb2ece493820d85 (diff)
downloadmullvadvpn-e5b73d7abc1b50cfbb9c6f056bf66fef28fef5b2.tar.xz
mullvadvpn-e5b73d7abc1b50cfbb9c6f056bf66fef28fef5b2.zip
Add shadowsocks-proxy crate
Diffstat (limited to 'ios/RelaySelector')
-rw-r--r--ios/RelaySelector/RelaySelector.swift7
1 files changed, 7 insertions, 0 deletions
diff --git a/ios/RelaySelector/RelaySelector.swift b/ios/RelaySelector/RelaySelector.swift
index 0feed32cf4..11625b1ca1 100644
--- a/ios/RelaySelector/RelaySelector.swift
+++ b/ios/RelaySelector/RelaySelector.swift
@@ -20,6 +20,13 @@ public enum RelaySelector {
return relays.bridge.shadowsocks.filter { $0.protocol == "tcp" }.randomElement()
}
+ /// Return a random Shadowsocks bridge relay, or `nil` if no relay were found.
+ /// - Parameter relays: The list of relays to randomly select from
+ /// - Returns: A Shadowsocks relay or `nil` if no relay were found.
+ public static func getShadowSocksRelay(relays: REST.ServerRelaysResponse) -> REST.BridgeRelay? {
+ relays.bridge.relays.randomElement()
+ }
+
/**
Filters relay list using given constraints and selects random relay.
Throws an error if there are no relays satisfying the given constraints.