aboutsummaryrefslogtreecommitdiffstats
path: root/device/queueconstants_ios.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-05-22 00:57:42 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2021-05-22 01:00:51 +0200
commitc27ff9b9f6f7849614e774be8a15c1266c415750 (patch)
tree9a8a5bf41885dc84ca15a41192cf0fda7fd712e4 /device/queueconstants_ios.go
parenttun: linux: account for interface removal from outside (diff)
downloadwireguard-go-c27ff9b9f6f7849614e774be8a15c1266c415750.tar.xz
wireguard-go-c27ff9b9f6f7849614e774be8a15c1266c415750.zip
device: allow reducing queue constants on iOS
Heavier network extensions might require the wireguard-go component to use less ram, so let users of this reduce these as needed. At some point we'll put this behind a configuration method of sorts, but for now, just expose the consts as vars. Requested-by: Josh Bleecher Snyder <josh@tailscale.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--device/queueconstants_ios.go20
1 files changed, 11 insertions, 9 deletions
diff --git a/device/queueconstants_ios.go b/device/queueconstants_ios.go
index be30e19..36c8704 100644
--- a/device/queueconstants_ios.go
+++ b/device/queueconstants_ios.go
@@ -7,13 +7,15 @@
package device
-/* Fit within memory limits for iOS's Network Extension API, which has stricter requirements */
-
-const (
- QueueStagedSize = 128
- QueueOutboundSize = 1024
- QueueInboundSize = 1024
- QueueHandshakeSize = 1024
- MaxSegmentSize = 1700
- PreallocatedBuffersPerPool = 1024
+// Fit within memory limits for iOS's Network Extension API, which has stricter requirements.
+// These are vars instead of consts, because heavier network extensions might want to reduce
+// them further.
+var (
+ QueueStagedSize = 128
+ QueueOutboundSize = 1024
+ QueueInboundSize = 1024
+ QueueHandshakeSize = 1024
+ PreallocatedBuffersPerPool uint32 = 1024
)
+
+const MaxSegmentSize = 1700