Make wgContext lazy.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
@@ -19,7 +19,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
|||||||
// MARK: Properties
|
// MARK: Properties
|
||||||
|
|
||||||
var wgHandle: Int32?
|
var wgHandle: Int32?
|
||||||
var wgContext: WireGuardContext?
|
lazy var wgContext: WireGuardContext? = {
|
||||||
|
return WireGuardContext(packetFlow: self.packetFlow)
|
||||||
|
}()
|
||||||
|
|
||||||
// MARK: NEPacketTunnelProvider
|
// MARK: NEPacketTunnelProvider
|
||||||
|
|
||||||
@@ -49,7 +51,6 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
|||||||
NSLog("wg log: \(level): \(tag): \(msg)")
|
NSLog("wg log: \(level): \(tag): \(msg)")
|
||||||
}
|
}
|
||||||
|
|
||||||
wgContext = WireGuardContext(packetFlow: self.packetFlow)
|
|
||||||
|
|
||||||
let handle = withStringsAsGoStrings(interfaceName, settings) { (nameGoStr, settingsGoStr) -> Int32 in
|
let handle = withStringsAsGoStrings(interfaceName, settings) { (nameGoStr, settingsGoStr) -> Int32 in
|
||||||
return withUnsafeMutablePointer(to: &wgContext) { (wgCtxPtr) -> Int32 in
|
return withUnsafeMutablePointer(to: &wgContext) { (wgCtxPtr) -> Int32 in
|
||||||
|
|||||||
Reference in New Issue
Block a user