Skip to content

Commit b2f9d93

Browse files
authored
Merge pull request #28 from rydergillen-compacSort/master
Tls EndPoint uses DefaultSocket
2 parents c90bdbf + c9ac954 commit b2f9d93

File tree

4 files changed

+31
-15
lines changed

4 files changed

+31
-15
lines changed

Frameworks/MQTTnet.NetFramework/Implementations/MqttServerAdapter.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ private async Task AcceptDefaultEndpointConnectionsAsync(CancellationToken cance
9292
catch (Exception exception) when (!(exception is ObjectDisposedException))
9393
{
9494
MqttTrace.Error(nameof(MqttServerAdapter), exception, "Error while acceping connection at default endpoint.");
95+
96+
//excessive CPU consumed if in endless loop of socket errors
97+
Thread.Sleep(TimeSpan.FromSeconds(1));
9598
}
9699
}
97100
}
@@ -102,7 +105,7 @@ private async Task AcceptTlsEndpointConnectionsAsync(CancellationToken cancellat
102105
{
103106
try
104107
{
105-
var clientSocket = await Task.Factory.FromAsync(_defaultEndpointSocket.BeginAccept, _defaultEndpointSocket.EndAccept, null);
108+
var clientSocket = await Task.Factory.FromAsync(_tlsEndpointSocket.BeginAccept, _tlsEndpointSocket.EndAccept, null);
106109

107110
var sslStream = new SslStream(new NetworkStream(clientSocket));
108111
await sslStream.AuthenticateAsServerAsync(_tlsCertificate, false, SslProtocols.Tls12, false);
@@ -113,6 +116,9 @@ private async Task AcceptTlsEndpointConnectionsAsync(CancellationToken cancellat
113116
catch (Exception exception)
114117
{
115118
MqttTrace.Error(nameof(MqttServerAdapter), exception, "Error while acceping connection at TLS endpoint.");
119+
120+
//excessive CPU consumed if in endless loop of socket errors
121+
Thread.Sleep(TimeSpan.FromSeconds(1));
116122
}
117123
}
118124
}

Frameworks/MQTTnet.NetStandard/Implementations/MqttServerAdapter.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ private async Task AcceptDefaultEndpointConnectionsAsync(CancellationToken cance
9090
catch (Exception exception)
9191
{
9292
MqttTrace.Error(nameof(MqttServerAdapter), exception, "Error while acceping connection at default endpoint.");
93+
94+
//excessive CPU consumed if in endless loop of socket errors
95+
Thread.Sleep(TimeSpan.FromSeconds(1));
9396
}
9497
}
9598
}
@@ -100,7 +103,7 @@ private async Task AcceptTlsEndpointConnectionsAsync(CancellationToken cancellat
100103
{
101104
try
102105
{
103-
var clientSocket = await _defaultEndpointSocket.AcceptAsync();
106+
var clientSocket = await _tlsEndpointSocket.AcceptAsync();
104107

105108
var sslStream = new SslStream(new NetworkStream(clientSocket));
106109
await sslStream.AuthenticateAsServerAsync(_tlsCertificate, false, SslProtocols.Tls12, false);
@@ -111,6 +114,9 @@ private async Task AcceptTlsEndpointConnectionsAsync(CancellationToken cancellat
111114
catch (Exception exception)
112115
{
113116
MqttTrace.Error(nameof(MqttServerAdapter), exception, "Error while acceping connection at TLS endpoint.");
117+
118+
//excessive CPU consumed if in endless loop of socket errors
119+
Thread.Sleep(TimeSpan.FromSeconds(1));
114120
}
115121
}
116122
}

Frameworks/MQTTnet.NetStandard/MQTTnet.Netstandard.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
<ItemGroup>
2626
<PackageReference Include="System.Net.Security" Version="4.3.1" />
27+
<PackageReference Include="System.Threading.Thread" Version="4.3.0" />
2728
</ItemGroup>
2829

2930
</Project>

MQTTnet.sln

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 15
4-
VisualStudioVersion = 15.0.26430.16
4+
VisualStudioVersion = 15.0.26730.8
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MQTTnet.Core.Tests", "Tests\MQTTnet.Core.Tests\MQTTnet.Core.Tests.csproj", "{A7FF0C91-25DE-4BA6-B39E-F54E8DADF1CC}"
77
EndProject
@@ -96,18 +96,18 @@ Global
9696
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|Any CPU.Build.0 = Debug|Any CPU
9797
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|ARM.ActiveCfg = Debug|Any CPU
9898
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|ARM.Build.0 = Debug|Any CPU
99-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x64.ActiveCfg = Debug|x64
100-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x64.Build.0 = Debug|x64
101-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x86.ActiveCfg = Debug|x86
102-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x86.Build.0 = Debug|x86
99+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x64.ActiveCfg = Debug|Any CPU
100+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x64.Build.0 = Debug|Any CPU
101+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x86.ActiveCfg = Debug|Any CPU
102+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Debug|x86.Build.0 = Debug|Any CPU
103103
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|Any CPU.ActiveCfg = Release|Any CPU
104104
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|Any CPU.Build.0 = Release|Any CPU
105105
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|ARM.ActiveCfg = Release|Any CPU
106106
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|ARM.Build.0 = Release|Any CPU
107-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x64.ActiveCfg = Release|x64
108-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x64.Build.0 = Release|x64
109-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x86.ActiveCfg = Release|x86
110-
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x86.Build.0 = Release|x86
107+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x64.ActiveCfg = Release|Any CPU
108+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x64.Build.0 = Release|Any CPU
109+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x86.ActiveCfg = Release|Any CPU
110+
{2ECB99E4-72D0-4C23-99BA-93D511D3967D}.Release|x86.Build.0 = Release|Any CPU
111111
{D9D74F33-6943-49B2-B765-7BD589082098}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
112112
{D9D74F33-6943-49B2-B765-7BD589082098}.Debug|Any CPU.Build.0 = Debug|Any CPU
113113
{D9D74F33-6943-49B2-B765-7BD589082098}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -150,10 +150,10 @@ Global
150150
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
151151
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|ARM.ActiveCfg = Debug|Any CPU
152152
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|ARM.Build.0 = Debug|Any CPU
153-
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x64.ActiveCfg = Debug|x64
154-
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x64.Build.0 = Debug|x64
155-
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x86.ActiveCfg = Debug|x86
156-
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x86.Build.0 = Debug|x86
153+
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x64.ActiveCfg = Debug|Any CPU
154+
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x64.Build.0 = Debug|Any CPU
155+
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x86.ActiveCfg = Debug|Any CPU
156+
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Debug|x86.Build.0 = Debug|Any CPU
157157
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
158158
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Release|Any CPU.Build.0 = Release|Any CPU
159159
{3587E506-55A2-4EB3-99C7-DC01E42D25D2}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -174,4 +174,7 @@ Global
174174
{FF1F72D6-9524-4422-9497-3CC0002216ED} = {9248C2E1-B9D6-40BF-81EC-86004D7765B4}
175175
{3587E506-55A2-4EB3-99C7-DC01E42D25D2} = {32A630A7-2598-41D7-B625-204CD906F5FB}
176176
EndGlobalSection
177+
GlobalSection(ExtensibilityGlobals) = postSolution
178+
SolutionGuid = {07536672-5CBC-4BE3-ACE0-708A431A7894}
179+
EndGlobalSection
177180
EndGlobal

0 commit comments

Comments
 (0)