Support updated MTContext API

This commit is contained in:
Peter
2018-11-23 18:14:30 +03:00
parent 3e50d8ac95
commit 84eed4d9f5

View File

@@ -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)
}
}
}