From d4039c4a69c8c439cf5ef7e3c4407df404f772f6 Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Fri, 11 Mar 2022 10:57:34 -0800 Subject: [PATCH 1/6] Remove MEL References --- Editor/MobiledgeXEditorWindow.cs | 4 +- Runtime/Plugins/Android.meta | 8 -- Runtime/Plugins/Android/mel.aar | Bin 16243 -> 0 bytes Runtime/Plugins/Android/mel.aar.meta | 32 ------ Runtime/Scripts/MelMessaging.cs | 128 ----------------------- Runtime/Scripts/MelMessaging.cs.meta | 11 -- Runtime/Scripts/MobiledgeXIntegration.cs | 13 +-- Runtime/Scripts/MobiledgeXSettings.cs | 4 +- 8 files changed, 3 insertions(+), 197 deletions(-) delete mode 100644 Runtime/Plugins/Android.meta delete mode 100644 Runtime/Plugins/Android/mel.aar delete mode 100644 Runtime/Plugins/Android/mel.aar.meta delete mode 100644 Runtime/Scripts/MelMessaging.cs delete mode 100644 Runtime/Scripts/MelMessaging.cs.meta diff --git a/Editor/MobiledgeXEditorWindow.cs b/Editor/MobiledgeXEditorWindow.cs index cc67d5da..4fab7464 100644 --- a/Editor/MobiledgeXEditorWindow.cs +++ b/Editor/MobiledgeXEditorWindow.cs @@ -1,5 +1,5 @@ /** - * Copyright 2018-2021 MobiledgeX, Inc. All rights and licenses reserved. + * Copyright 2018-2022 MobiledgeX, Inc. All rights and licenses reserved. * MobiledgeX, Inc. 156 2nd Street #408, San Francisco, CA 94105 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -441,7 +441,6 @@ void AddMobiledgeXPlugins() string iosPluginPath = Path.GetFullPath("Packages/com.mobiledgex.sdk/Runtime/Plugins/iOS/PlatformIntegration.m"); string linkXMLPath = Path.GetFullPath("Packages/com.mobiledgex.sdk/link.xml"); string settingPath = Path.GetFullPath("Packages/com.mobiledgex.sdk/Resources/MobiledgeXSettings.asset"); - string melAARPath = Path.GetFullPath("Packages/com.mobiledgex.sdk/Runtime/Plugins/Android/mel.aar"); try { if (!Directory.Exists(@unityPluginsFolderPath)) @@ -468,7 +467,6 @@ void AddMobiledgeXPlugins() { AssetDatabase.CreateFolder("Assets/Plugins/MobiledgeX", "Android"); } - MoveFile(melAARPath, Path.Combine(@mobiledgeXFolderPath, @"Android/mel.aar"), true); AssetDatabase.Refresh(); } catch (Exception e) diff --git a/Runtime/Plugins/Android.meta b/Runtime/Plugins/Android.meta deleted file mode 100644 index 6afc8856..00000000 --- a/Runtime/Plugins/Android.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b38684a80edc040678173b245ee173a2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Plugins/Android/mel.aar b/Runtime/Plugins/Android/mel.aar deleted file mode 100644 index 7f8ca334080e5edf1f426b6537197798485c1fb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16243 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, "currentActivity"); - if (activity == null) - { - return null; - } - return activity; - } - - AndroidJavaClass getMel() - { - AndroidJavaClass MelCls = PlatformIntegrationUtil.GetAndroidJavaClass("com.mobiledgex.mel.MelMessaging"); - return MelCls; - } - - public MelMessaging(string appName) - { - // MobiledgeX Vender Interface. Only for Android. - AndroidJavaClass MelCls = getMel(); - - // Fire off intents to update MEL state. - var activity = getActivity(); - if (activity == null) - { - return; - } - MelCls.CallStatic("sendForMelStatus", activity, appName); - } - - public bool IsMelEnabled() - { - AndroidJavaClass MelCls = getMel(); - if (MelCls == null) - { - return false; - } - bool enabled = PlatformIntegrationUtil.CallStatic(MelCls, "isMelEnabled"); - return enabled; - } - - public string GetMelVersion() - { - AndroidJavaClass MelCls = getMel(); - if (MelCls == null) - { - return ""; - } - return PlatformIntegrationUtil.CallStatic(MelCls, "getMelVersion"); - } - - public string GetUid() - { - AndroidJavaClass MelCls = getMel(); - if (MelCls == null) - { - return ""; - } - string uid = PlatformIntegrationUtil.CallStatic(MelCls, "getUid"); - return uid; - } - - public string SetToken(string token, string app_name) - { - AndroidJavaClass MelCls = getMel(); - if (MelCls == null) - { - return ""; - } - object[] pa = new object[3] { getActivity(), token, app_name }; - string sent_token = PlatformIntegrationUtil.CallStatic(MelCls, "sendSetToken", pa); - return sent_token; - } - - // MelMessaging related: - public string GetManufacturer() - { - AndroidJavaClass BuildCls = PlatformIntegrationUtil.GetAndroidJavaClass("android.os.Build"); - string manufacturer = PlatformIntegrationUtil.GetStatic(BuildCls, "MANUFACTURER"); - return manufacturer; - } -#elif UNITY_IOS - public MelMessaging(string app_name) { } - public bool IsMelEnabled() { return false; } - public string GetMelVersion() { return ""; } - public string SetToken(string token, string app_name) { return ""; } - public string GetUid() { return ""; } - public string GetManufacturer() { return "Apple"; } -#else - public MelMessaging(string app_name) { } - public bool IsMelEnabled() { return false; } - public string GetMelVersion() { return ""; } - public string SetToken(string token, string app_name) { return ""; } - public string GetUid() { return ""; } - public string GetManufacturer() { return ""; } -#endif -} diff --git a/Runtime/Scripts/MelMessaging.cs.meta b/Runtime/Scripts/MelMessaging.cs.meta deleted file mode 100644 index 17f1d925..00000000 --- a/Runtime/Scripts/MelMessaging.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a7340f008066f436c80eb93ec935e0f8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/MobiledgeXIntegration.cs b/Runtime/Scripts/MobiledgeXIntegration.cs index 3a1c5f67..f0eed803 100644 --- a/Runtime/Scripts/MobiledgeXIntegration.cs +++ b/Runtime/Scripts/MobiledgeXIntegration.cs @@ -1,5 +1,5 @@ /** -* Copyright 2018-2021 MobiledgeX, Inc. All rights and licenses reserved. +* Copyright 2018-2022 MobiledgeX, Inc. All rights and licenses reserved. * MobiledgeX, Inc. 156 2nd Street #408, San Francisco, CA 94105 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -80,7 +80,6 @@ public partial class MobiledgeXIntegration : IDisposable AppPort latestAppPort = null; AppPort[] latestAppPortList = null; Location fallbackLocation = new Location(0, 0); - MelMessaging melMessaging; string region { @@ -121,11 +120,6 @@ public MobiledgeXIntegration(CarrierInfo carrierInfo = null, NetInterface netInt netInterface == null ? pIntegration.NetInterface : netInterface, uniqueId == null ? pIntegration.UniqueID : uniqueId, deviceInfo == null ? pIntegration.DeviceInfo : deviceInfo); - if (settings.MEL_ENABLED) - { - melMessaging = new MelMessaging(appName); - matchingEngine.SetMelMessaging(melMessaging); - } } /// @@ -142,11 +136,6 @@ public MobiledgeXIntegration(string orgName, string appName, string appVers, str pIntegration = new PlatformIntegration(); matchingEngine = new MatchingEngine(pIntegration.CarrierInfo, pIntegration.NetInterface, pIntegration.UniqueID, pIntegration.DeviceInfo); - if (settings.MEL_ENABLED) - { - melMessaging = new MelMessaging(appName); - matchingEngine.SetMelMessaging(melMessaging); - } } /// diff --git a/Runtime/Scripts/MobiledgeXSettings.cs b/Runtime/Scripts/MobiledgeXSettings.cs index 21cc1e86..dbc1ba99 100644 --- a/Runtime/Scripts/MobiledgeXSettings.cs +++ b/Runtime/Scripts/MobiledgeXSettings.cs @@ -1,5 +1,5 @@ /** - * Copyright 2018-2021 MobiledgeX, Inc. All rights and licenses reserved. + * Copyright 2018-2022 MobiledgeX, Inc. All rights and licenses reserved. * MobiledgeX, Inc. 156 2nd Street #408, San Francisco, CA 94105 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,7 +29,5 @@ public class MobiledgeXSettings : ScriptableObject public string authPublicKey; public string region; public Logger.LogType logType = Logger.LogType.ErrorsAndWarnings; - [Tooltip("Set to true, If MEL mode is Enabled on your device.")] - public bool MEL_ENABLED; } } From f0a2b6efa2aee10ff3c8d4497d2950eb6afee6c2 Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Sun, 13 Mar 2022 15:46:09 -0700 Subject: [PATCH 2/6] Update VerifyLocation Enums --- Runtime/Scripts/MobiledgeXIntegration.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Runtime/Scripts/MobiledgeXIntegration.cs b/Runtime/Scripts/MobiledgeXIntegration.cs index f0eed803..6d4620ed 100644 --- a/Runtime/Scripts/MobiledgeXIntegration.cs +++ b/Runtime/Scripts/MobiledgeXIntegration.cs @@ -194,17 +194,17 @@ public async Task VerifyLocation(string dmeHost = null, uint dmePort = 0) // GPS and Tower Status: switch (reply.gps_location_status) { - case VerifyLocationReply.GPSLocationStatus.LOC_ROAMING_COUNTRY_MISMATCH: - case VerifyLocationReply.GPSLocationStatus.LOC_ERROR_UNAUTHORIZED: - case VerifyLocationReply.GPSLocationStatus.LOC_ERROR_OTHER: - case VerifyLocationReply.GPSLocationStatus.LOC_UNKNOWN: + case VerifyLocationReply.GPSLocationStatus.RoamingCountryMismatch: + case VerifyLocationReply.GPSLocationStatus.ErrorUnauthorized: + case VerifyLocationReply.GPSLocationStatus.ErrorOther: + case VerifyLocationReply.GPSLocationStatus.Unknown: return false; } switch (reply.tower_status) { - case VerifyLocationReply.TowerStatus.NOT_CONNECTED_TO_SPECIFIED_TOWER: - case VerifyLocationReply.TowerStatus.TOWER_UNKNOWN: + case VerifyLocationReply.TowerStatus.NotConnectedToSpecifiedTower: + case VerifyLocationReply.TowerStatus.TowerUnknown: return false; } From 3941f1e26f03b832f9737179f6825a04afe812aa Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Sun, 13 Mar 2022 15:58:50 -0700 Subject: [PATCH 3/6] Fix broken Debug Binary --- .../Plugins/MatchingEngineSDKRestLibrary.dll | Bin 108032 -> 133632 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Runtime/Plugins/MatchingEngineSDKRestLibrary.dll b/Runtime/Plugins/MatchingEngineSDKRestLibrary.dll index dbf5e34c8fb381ac39f5052ab0aa99e41795077b..c8dc5b955598744973b5e65670b377ef59343ef2 100644 GIT binary patch literal 133632 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�uR01O0*b1BDMoxEkga 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 a{+Gk&(?C5r6Bsr;`uWiOOY4808u-7&wAKv( literal 108032 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 Q^1+jP=JY><|DXo`1_(rl5C8xG From 9deb81e0407087ae4a0f0bc3028ac66da9d45ad4 Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Sun, 13 Mar 2022 16:55:15 -0700 Subject: [PATCH 4/6] Update Unit Tests --- .github/workflows/unit_tests.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 6d92c049..eea567b2 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -28,12 +28,6 @@ jobs: path: ./project/EmptyProject/Assets lfs: true - # Editor tests not needed (Package is not imported) - - name: Remove Editor tests - run: | - rm -rf ./project/EmptyProject/Assets/Tests/Editor - rm ./project/EmptyProject/Assets/Tests/Editor.meta - - name: Run Tests using Unity TestRunner uses: game-ci/unity-test-runner@v2 id: tests From 5381a488d922939f7288c67a57c61394382fa7b1 Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Mon, 14 Mar 2022 11:56:52 -0700 Subject: [PATCH 5/6] Update LProto enums for Tests --- Tests/Runtime/MobiledgeX_RuntimeTests.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Tests/Runtime/MobiledgeX_RuntimeTests.cs b/Tests/Runtime/MobiledgeX_RuntimeTests.cs index 44d58859..d23913a7 100644 --- a/Tests/Runtime/MobiledgeX_RuntimeTests.cs +++ b/Tests/Runtime/MobiledgeX_RuntimeTests.cs @@ -232,7 +232,7 @@ public void UDPTest(string orgName, string appName, string appVers, int timeOutM var task = Task.Run(async () => { string hostName = await GetHostHelper(mxi, "udp"); - MobiledgeXUDPClient udpClient = new MobiledgeXUDPClient(hostName, mxi.GetAppPort(LProto.L_PROTO_UDP).public_port); + MobiledgeXUDPClient udpClient = new MobiledgeXUDPClient(hostName, mxi.GetAppPort(LProto.Udp).public_port); return UDPMessageHelper(udpClient, "ping", timeOutMs); }); Assert.True(task.Result == "pong"); @@ -278,14 +278,14 @@ public async Task GetUrlHelper(MobiledgeXIntegration mxi, string proto, switch (proto) { case "udp": - appPort = mxi.GetAppPort(LProto.L_PROTO_UDP, port); + appPort = mxi.GetAppPort(LProto.Udp, port); break; case "ws": case "wss": case "http": case "https": default: - appPort = mxi.GetAppPort(LProto.L_PROTO_TCP, port); + appPort = mxi.GetAppPort(LProto.Tcp, port); break; } @@ -318,14 +318,14 @@ public async Task GetHostHelper(MobiledgeXIntegration mxi, string proto, switch (proto) { case "udp": - appPort = mxi.GetAppPort(LProto.L_PROTO_UDP, port); + appPort = mxi.GetAppPort(LProto.Udp, port); break; case "ws": case "wss": case "http": case "https": default: - appPort = mxi.GetAppPort(LProto.L_PROTO_TCP, port); + appPort = mxi.GetAppPort(LProto.Tcp, port); break; } return mxi.GetHost(appPort); From b117cb899435bba801aaaebe049a1354731f9a9e Mon Sep 17 00:00:00 2001 From: Ahmed Schrute Date: Mon, 14 Mar 2022 12:28:46 -0700 Subject: [PATCH 6/6] Fix compilation errors, switch to eu-staging for testinh --- .github/workflows/unit_tests.yml | 6 ++++ Editor/MobiledgeXEditorWindow.cs | 8 +++-- Tests/Runtime/MobiledgeX_RuntimeTests.cs | 44 +++++++++++------------- 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index eea567b2..f17de96b 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -28,6 +28,12 @@ jobs: path: ./project/EmptyProject/Assets lfs: true + # Editor tests not needed (Package is not imported) + - name: Remove Editor tests + run: | + rm -rf ./project/EmptyProject/Assets/Tests/Editor + rm ./project/EmptyProject/Assets/Tests/Editor.meta + - name: Run Tests using Unity TestRunner uses: game-ci/unity-test-runner@v2 id: tests diff --git a/Editor/MobiledgeXEditorWindow.cs b/Editor/MobiledgeXEditorWindow.cs index 4fab7464..d65edbac 100644 --- a/Editor/MobiledgeXEditorWindow.cs +++ b/Editor/MobiledgeXEditorWindow.cs @@ -224,8 +224,12 @@ void OnInspectorUpdate() string GetSDKVersion() { TextAsset asset = (TextAsset)AssetDatabase.LoadAssetAtPath("Packages/com.mobiledgex.sdk/package.json", typeof(TextAsset)); - string sdkVersion = JsonUtility.FromJson(asset.text).version; - return "v" + sdkVersion; + if (asset != null) + { + string sdkVersion = JsonUtility.FromJson(asset.text).version; + return "v" + sdkVersion; + } + return "DEBUG_VER"; } /// diff --git a/Tests/Runtime/MobiledgeX_RuntimeTests.cs b/Tests/Runtime/MobiledgeX_RuntimeTests.cs index d23913a7..110a23b6 100644 --- a/Tests/Runtime/MobiledgeX_RuntimeTests.cs +++ b/Tests/Runtime/MobiledgeX_RuntimeTests.cs @@ -1,5 +1,5 @@ /** -* Copyright 2018-2021 MobiledgeX, Inc. All rights and licenses reserved. +* Copyright 2018-2022 MobiledgeX, Inc. All rights and licenses reserved. * MobiledgeX, Inc. 156 2nd Street #408, San Francisco, CA 94105 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,23 +29,17 @@ namespace MobiledgeX public class MobiledgeX_RuntimeTests { MobiledgeXIntegration mxi; + string dmeHostOverride; + uint dmePortOverride; + #region Testing Setup [OneTimeSetUp] public void MobiledgeXEnvironmentSetup() { MobiledgeXIntegration.settings.region = "EU"; //For Testing Purposes, works in Editor only. - if (!UnityEditorInternal.InternalEditorUtility.isHumanControllingUs) - { - return; - } - if (!File.Exists(Path.Combine(Application.dataPath, "Plugins/MobiledgeX/iOS/PlatformIntegration.m")) && - !File.Exists(Path.Combine(Application.dataPath, "Plugins/MobiledgeX/link.xml")) && - !File.Exists(Path.Combine(Application.dataPath, "Plugins/MobiledgeX/MatchingEngineSDKRestLibrary.dll")) && - !File.Exists(Path.Combine(Application.dataPath, "Resources/MobiledgeXSettings.asset"))) - { - Assert.Fail("MobiledgeX Plugins are not loaded in the project, Can't perform tests"); - } + dmeHostOverride = "eu-stage.dme.mobiledgex.net"; + dmePortOverride = 38001; } #endregion @@ -53,7 +47,7 @@ public void MobiledgeXEnvironmentSetup() #region Run Time Tests [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0")] + [TestCase("Ahmed-Org", "sdk-test", "9.0")] public void RegisterClient(string orgName, string appName, string appVers) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -70,7 +64,7 @@ public void RegisterClient(string orgName, string appName, string appVers) } [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0")] + [TestCase("Ahmed-Org", "sdk-test", "9.0")] public void FindCloudlet(string orgName, string appName, string appVers) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -89,9 +83,9 @@ public void FindCloudlet(string orgName, string appName, string appVers) } [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", "http", 8085)] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", "https", 2015)] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", "tcp", 2016)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "http", 8085)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "https", 2015)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "tcp", 2016)] public void GetUrl(string orgName, string appName, string appVers, string proto, int port) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -110,7 +104,11 @@ public void GetUrl(string orgName, string appName, string appVers, string proto, } [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", "http", 8085)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "http", 8085)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "https", 2015)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "tcp", 2016)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "ws", 3765)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "udp", 2015)] public void GetHost(string orgName, string appName, string appVers, string proto, int port) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -161,7 +159,7 @@ public void RegisterClientFaliure(string orgName, string appName, string appVers } [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", 104.1954, 35.8617)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", 104.1954, 35.8617)] public void FindCloudletFaliure(string orgName, string appName, string appVers, double latitude, double longitude) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -197,7 +195,7 @@ public void FindCloudletFaliure(string orgName, string appName, string appVers, } [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", "ws", 3765, 2000)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", "ws", 3765, 2000)] public void WebSocketTest(string orgName, string appName, string appVers, string proto, int port, int timeOutMs) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -221,7 +219,7 @@ public void WebSocketTest(string orgName, string appName, string appVers, string [Test] - [TestCase("MobiledgeX-Samples", "sdktest", "9.0", 2000)] + [TestCase("Ahmed-Org", "sdk-test", "9.0", 2000)] public void UDPTest(string orgName, string appName, string appVers, int timeOutMs) { using (MobiledgeXIntegration mxi = new MobiledgeXIntegration(new CarrierInfoClass(), null, new UniqueIDClass(), new TestDeviceInfo())) @@ -245,14 +243,14 @@ public void UDPTest(string orgName, string appName, string appVers, int timeOutM public async Task RegisterHelper(MobiledgeXIntegration mxi) { - bool check = await mxi.Register(); + bool check = await mxi.Register(dmeHostOverride, dmePortOverride); await Task.Delay(TimeSpan.FromMilliseconds(1000)); return check; } public async Task FindCloudletHelper(MobiledgeXIntegration mxi) { - bool foundCloudlet = await mxi.FindCloudlet(); + bool foundCloudlet = await mxi.FindCloudlet(dmeHostOverride, dmePortOverride); await Task.Delay(TimeSpan.FromMilliseconds(1000)); return foundCloudlet; }