From b4d0445bc533aefce501391e085e56e051da5799 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 10 Aug 2022 19:38:39 +0100 Subject: [PATCH] Add NewDummyTrafficManager functor --- .../Functors/NewDummyTrafficManager.swift | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Sources/ElixxirDAppsSDK/Functors/NewDummyTrafficManager.swift diff --git a/Sources/ElixxirDAppsSDK/Functors/NewDummyTrafficManager.swift b/Sources/ElixxirDAppsSDK/Functors/NewDummyTrafficManager.swift new file mode 100644 index 00000000..3a031033 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Functors/NewDummyTrafficManager.swift @@ -0,0 +1,40 @@ +import Bindings +import XCTestDynamicOverlay + +public struct NewDummyTrafficManager { + public var run: (Int, Int, Int, Int) throws -> DummyTraffic + + public func callAsFunction( + cMixId: Int, + maxNumMessages: Int, + avgSendDeltaMS: Int, + randomRangeMS: Int + ) throws -> DummyTraffic { + try run(cMixId, maxNumMessages, avgSendDeltaMS, randomRangeMS) + } +} + +extension NewDummyTrafficManager { + public static let live = NewDummyTrafficManager { + cMixId, maxNumMessages, avgSendDeltaMS, randomRangeMS in + + var error: NSError? + let bindingsDummyTraffic = BindingsNewDummyTrafficManager( + cMixId, + maxNumMessages, + avgSendDeltaMS, + randomRangeMS, + &error + ) + guard let bindingsDummyTraffic = bindingsDummyTraffic else { + fatalError("BindingsNewDummyTrafficManager returned `nil` without providing error") + } + return .live(bindingsDummyTraffic) + } +} + +extension NewDummyTrafficManager { + public static let unimplemented = NewDummyTrafficManager( + run: XCTUnimplemented("\(Self.self)") + ) +} -- GitLab