Skip to content

Commit ec58cc7

Browse files
authored
Improving twin property reporting (#18)
1 parent d558051 commit ec58cc7

File tree

4 files changed

+10
-13
lines changed

4 files changed

+10
-13
lines changed

Azure.Devices.DeviceClient/Azure.Devices.DeviceClient.nfproj

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="Current" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup Label="Globals">
4-
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
4+
<NanoFrameworkProjectSystemPath>$(MSBuildExtensionsPath)\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
55
</PropertyGroup>
66
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
77
<PropertyGroup>
@@ -59,9 +59,8 @@
5959
<Private>True</Private>
6060
<SpecificVersion>True</SpecificVersion>
6161
</Reference>
62-
<Reference Include="nanoFramework.Json, Version=2.1.0.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
63-
<HintPath>..\packages\nanoFramework.Json.2.1.0\lib\nanoFramework.Json.dll</HintPath>
64-
<Private>True</Private>
62+
<Reference Include="nanoFramework.Json">
63+
<HintPath>..\packages\nanoFramework.Json.2.1.1-preview.6\lib\nanoFramework.Json.dll</HintPath>
6564
</Reference>
6665
<Reference Include="nanoFramework.M2Mqtt, Version=5.0.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
6766
<HintPath>..\packages\nanoFramework.M2Mqtt.5.0.2-preview.18\lib\nanoFramework.M2Mqtt.dll</HintPath>
@@ -113,4 +112,4 @@
113112
</PropertyGroup>
114113
<Error Condition="!Exists('..\packages\Nerdbank.GitVersioning.3.4.220\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Nerdbank.GitVersioning.3.4.220\build\Nerdbank.GitVersioning.targets'))" />
115114
</Target>
116-
</Project>
115+
</Project>

Azure.Devices.DeviceClient/DeviceClient.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -247,24 +247,22 @@ public bool UpdateReportedProperties(TwinCollection reported, CancellationToken
247247
string twin = reported.ToJson();
248248
Debug.WriteLine($"update twin: {twin}");
249249
var rid = _mqttc.Publish($"{TwinReportedPropertiesTopic}?$rid={Guid.NewGuid()}", Encoding.UTF8.GetBytes(twin), MqttQoSLevel.AtLeastOnce, false);
250+
ConfirmationStatus conf = new(rid);
250251
_ioTHubStatus.Status = Status.TwinUpdated;
251252
_ioTHubStatus.Message = string.Empty;
252253
StatusUpdated?.Invoke(this, new StatusUpdatedEventArgs(_ioTHubStatus));
253254

254255
if (cancellationToken.CanBeCanceled)
255-
{
256-
ConfirmationStatus conf = new(rid);
256+
{
257257
_waitForConfirmation.Add(conf);
258258
while (!conf.Received && !cancellationToken.IsCancellationRequested)
259259
{
260260
cancellationToken.WaitHandle.WaitOne(200, true);
261261
}
262-
263-
_waitForConfirmation.Remove(conf);
264-
return conf.Received;
265262
}
266263

267-
return false;
264+
_waitForConfirmation.Remove(conf);
265+
return conf.Received;
268266
}
269267

270268
/// <summary>

Azure.Devices.DeviceClient/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
33
<package id="nanoFramework.CoreLibrary" version="1.10.5" targetFramework="netnanoframework10" />
4-
<package id="nanoFramework.Json" version="2.1.0" targetFramework="netnanoframework10" />
4+
<package id="nanoFramework.Json" version="2.1.1-preview.6" targetFramework="netnanoframework10" />
55
<package id="nanoFramework.M2Mqtt" version="5.0.2-preview.18" targetFramework="netnanoframework10" />
66
<package id="nanoFramework.Runtime.Events" version="1.9.2-preview.8" targetFramework="netnanoframework10" />
77
<package id="nanoFramework.Runtime.Native" version="1.5.1" targetFramework="netnanoframework10" />

nanoFramework.Azure.Devices.Client.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This is an SDK for Azure IoT Hub using MQTT broker.</description>
2121
<tags>nanoFramework C# csharp netmf netnf Microsoft.Azure.Devices nanoFramework.Azure.Devices</tags>
2222
<dependencies>
2323
<dependency id="nanoFramework.CoreLibrary" version="1.10.5" />
24-
<dependency id="nanoFramework.Json" version="2.1.0" />
24+
<dependency id="nanoFramework.Json" version="2.1.1-preview.6" />
2525
<dependency id="nanoFramework.M2Mqtt" version="5.0.2-preview.18" />
2626
<dependency id="nanoFramework.Runtime.Events" version="1.9.2-preview.8" />
2727
<dependency id="nanoFramework.Runtime.Native" version="1.5.1" />

0 commit comments

Comments
 (0)