From 02a8e4eebe0b38821e61aedd55299a9706e4770e Mon Sep 17 00:00:00 2001 From: Dinesh Harjani Date: Tue, 28 Nov 2023 10:39:58 +0000 Subject: [PATCH] Use of native Swift Overflow Operator to rotate Sequence Numbers If it exists, why don't we use it? Source: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/advancedoperators/#Value-Overflow --- Source/McuManager.swift | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Source/McuManager.swift b/Source/McuManager.swift index b863632..f9a2ac8 100644 --- a/Source/McuManager.swift +++ b/Source/McuManager.swift @@ -18,10 +18,6 @@ public typealias McuSequenceNumber = UInt8 extension McuSequenceNumber { - mutating func rotate() { - self = self == .max ? 0 : self + 1 - } - static func random() -> McuSequenceNumber { McuSequenceNumber.random(in: UInt8.min...UInt8.max) } @@ -140,7 +136,8 @@ open class McuManager { robBuffer.logDelegate = logDelegate robBuffer.enqueueExpectation(for: packetSequenceNumber) send(data: packetData, timeout: timeout, callback: _callback) - nextSequenceNumber.rotate() + // Use of Overflow operator + nextSequenceNumber = nextSequenceNumber &+ 1 } public func send(data: Data, timeout: Int, callback: @escaping McuMgrCallback) {