aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuardNetworkExtension/PacketTunnelProvider.swift
diff options
context:
space:
mode:
authorJeroen Leenarts <jeroen.leenarts@gmail.com>2018-08-28 14:02:59 +0200
committerJeroen Leenarts <jeroen.leenarts@gmail.com>2018-08-28 14:02:59 +0200
commit88d84f702bb56a9db87a4cb01ab7d684a82aad12 (patch)
tree0527c5273a09bc1cd797c750419e83388cf073b3 /WireGuardNetworkExtension/PacketTunnelProvider.swift
parentInitial merge of rc's work. (diff)
downloadwireguard-apple-88d84f702bb56a9db87a4cb01ab7d684a82aad12.tar.xz
wireguard-apple-88d84f702bb56a9db87a4cb01ab7d684a82aad12.zip
Make wgContext lazy.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--WireGuardNetworkExtension/PacketTunnelProvider.swift5
1 files changed, 3 insertions, 2 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift
index f7563be..4734eac 100644
--- a/WireGuardNetworkExtension/PacketTunnelProvider.swift
+++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift
@@ -19,7 +19,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
// MARK: Properties
var wgHandle: Int32?
- var wgContext: WireGuardContext?
+ lazy var wgContext: WireGuardContext? = {
+ return WireGuardContext(packetFlow: self.packetFlow)
+ }()
// MARK: NEPacketTunnelProvider
@@ -49,7 +51,6 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
NSLog("wg log: \(level): \(tag): \(msg)")
}
- wgContext = WireGuardContext(packetFlow: self.packetFlow)
let handle = withStringsAsGoStrings(interfaceName, settings) { (nameGoStr, settingsGoStr) -> Int32 in
return withUnsafeMutablePointer(to: &wgContext) { (wgCtxPtr) -> Int32 in