From 84eed4d9f56377f768f7670efbd3143dbcdab1fd Mon Sep 17 00:00:00 2001 From: Peter <> Date: Fri, 23 Nov 2018 18:14:30 +0300 Subject: [PATCH] Support updated MTContext API --- TelegramCore/Network.swift | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/TelegramCore/Network.swift b/TelegramCore/Network.swift index 90badf42d2..e2c4077fca 100644 --- a/TelegramCore/Network.swift +++ b/TelegramCore/Network.swift @@ -748,12 +748,18 @@ public final class Network: NSObject, MTRequestMessageServiceDelegate { let address = MTDatacenterAddress(ip: host, port: UInt16(port), preferForMedia: false, restrictToTcp: false, cdn: false, preferForProxy: false, secret: secret) self.context.addAddressForDatacenter(withId: Int(datacenterId), address: address) - if let currentScheme = self.context.transportSchemeForDatacenter(withId: Int(datacenterId), media: false, isProxy: false), let currentAddress = currentScheme.address { - if !currentAddress.isEqual(to: address) { - let scheme = MTTransportScheme(transport: currentScheme.transportClass, address: address, media: false) - self.context.updateTransportSchemeForDatacenter(withId: Int(datacenterId), transportScheme: scheme, media: false, isProxy: false) + let currentSchemes = self.context.transportSchemesForDatacenter(withId: Int(datacenterId), media: false, enforceMedia: false, isProxy: false) + var found = false + for scheme in currentSchemes { + if scheme.address.isEqual(to: address) { + found = true + break } } + if !found { + let scheme = MTTransportScheme(transport: MTTcpTransport.self, address: address, media: false) + self.context.updateTransportSchemeForDatacenter(withId: Int(datacenterId), transportScheme: scheme, media: false, isProxy: false) + } } }