diff options
| author | Andrew Bulhak <andrew.bulhak@mullvad.net> | 2024-07-15 11:13:20 +0200 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2024-09-18 16:26:47 +0200 |
| commit | dee9d4e90af2dda070cbe72cc76cf4a375197012 (patch) | |
| tree | 01a923d9d29c774abe992cebad9684cfbae615ea /ios/PacketTunnelCoreTests | |
| parent | 965777945868ee7dff0892945fbb67ecf500ffc6 (diff) | |
| download | mullvadvpn-dee9d4e90af2dda070cbe72cc76cf4a375197012.tar.xz mullvadvpn-dee9d4e90af2dda070cbe72cc76cf4a375197012.zip | |
Add IAN-based TunnelPinger refactoring the pinger protocol accordingly
Diffstat (limited to 'ios/PacketTunnelCoreTests')
| -rw-r--r-- | ios/PacketTunnelCoreTests/Mocks/PingerMock.swift | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift b/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift index 9ed50fcd3c..ab80bee914 100644 --- a/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift +++ b/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift @@ -34,8 +34,9 @@ class PingerMock: PingerProtocol { self.decideOutcome = decideOutcome } - func openSocket(bindTo interfaceName: String?) throws { + func openSocket(bindTo interfaceName: String?, destAddress: IPv4Address) throws { stateLock.withLock { + state.destAddress = destAddress state.isSocketOpen = true } } @@ -46,11 +47,15 @@ class PingerMock: PingerProtocol { } } - func send(to address: IPv4Address) throws -> PingerSendResult { + func send() throws -> PingerSendResult { // Used for simulation. In reality can be any number. // But for realism it is: IPv4 header (20 bytes) + ICMP header (8 bytes) let icmpPacketSize: UInt = 28 + guard let address = state.destAddress else { + fatalError("Address somehow not set when sending ping") + } + let nextSequenceId = try stateLock.withLock { guard state.isSocketOpen else { throw POSIXError(.ENOTCONN) } @@ -91,6 +96,7 @@ class PingerMock: PingerProtocol { var sequenceId: UInt16 = 0 var isSocketOpen = false var onReply: ((PingerReply) -> Void)? + var destAddress: IPv4Address? = nil mutating func incrementSequenceId() -> UInt16 { sequenceId += 1 |
