From 0e422deeea780747a17e6c25e2c81bdde4f29192 Mon Sep 17 00:00:00 2001
From: SmallChi <564952747@qq.com>
Date: Fri, 23 Nov 2018 20:20:20 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95=E7=94=A8?=
=?UTF-8?q?=E6=9D=A5=202.=E5=A2=9E=E5=8A=A0=E5=8C=85=E8=AE=A1=E6=95=B0?=
=?UTF-8?q?=E5=99=A8=E6=9C=8D=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JT808SessionServiceDefaultImplTest.cs | 12 ++++++
.../JT808.DotNetty.Test.csproj | 19 ++++++++
.../JT808SessionManagerTest.cs | 28 ++++++++++++
src/JT808.DotNetty.Test/TestBase.cs | 19 ++++++++
src/JT808.DotNetty.sln | 6 +++
src/JT808.DotNetty/Codecs/JT808Decoder.cs | 22 +++++-----
.../Configurations/JT808Configuration.cs | 5 ---
.../Internal/JT808AtomicCounterService.cs | 43 +++++++++++++++++++
.../JT808SessionServiceDefaultImpl.cs | 1 +
src/JT808.DotNetty/JT808DotnettyExtensions.cs | 3 ++
src/JT808.DotNetty/JT808SessionManager.cs | 10 +----
.../JT808AtomicCounter.cs} | 19 ++++++--
12 files changed, 161 insertions(+), 26 deletions(-)
create mode 100644 src/JT808.DotNetty.Test/Internal/JT808SessionServiceDefaultImplTest.cs
create mode 100644 src/JT808.DotNetty.Test/JT808.DotNetty.Test.csproj
create mode 100644 src/JT808.DotNetty.Test/JT808SessionManagerTest.cs
create mode 100644 src/JT808.DotNetty.Test/TestBase.cs
create mode 100644 src/JT808.DotNetty/Internal/JT808AtomicCounterService.cs
rename src/JT808.DotNetty/{Internal/AtomicCounter.cs => Metadata/JT808AtomicCounter.cs} (58%)
diff --git a/src/JT808.DotNetty.Test/Internal/JT808SessionServiceDefaultImplTest.cs b/src/JT808.DotNetty.Test/Internal/JT808SessionServiceDefaultImplTest.cs
new file mode 100644
index 0000000..866247f
--- /dev/null
+++ b/src/JT808.DotNetty.Test/Internal/JT808SessionServiceDefaultImplTest.cs
@@ -0,0 +1,12 @@
+using JT808.DotNetty.Internal;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace JT808.DotNetty.Test.Internal
+{
+ public class JT808SessionServiceDefaultImplTest
+ {
+ //JT808SessionServiceDefaultImpl jT808SessionServiceDefaultImpl = new JT808SessionServiceDefaultImpl(new JT808SessionManager());
+ }
+}
diff --git a/src/JT808.DotNetty.Test/JT808.DotNetty.Test.csproj b/src/JT808.DotNetty.Test/JT808.DotNetty.Test.csproj
new file mode 100644
index 0000000..bb87711
--- /dev/null
+++ b/src/JT808.DotNetty.Test/JT808.DotNetty.Test.csproj
@@ -0,0 +1,19 @@
+
+
+
+ netcoreapp2.1
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/JT808.DotNetty.Test/JT808SessionManagerTest.cs b/src/JT808.DotNetty.Test/JT808SessionManagerTest.cs
new file mode 100644
index 0000000..04a1e66
--- /dev/null
+++ b/src/JT808.DotNetty.Test/JT808SessionManagerTest.cs
@@ -0,0 +1,28 @@
+using DotNetty.Transport.Channels.Embedded;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xunit;
+
+namespace JT808.DotNetty.Test
+{
+ public class JT808SessionManagerTest
+ {
+ JT808SessionManager jT808SessionManager = new JT808SessionManager(new LoggerFactory());
+
+ [Fact]
+ public void Test1()
+ {
+ var channel = new EmbeddedChannel();
+ jT808SessionManager.TryAddOrUpdateSession(new Metadata.JT808Session(channel, "123456789123"));
+ }
+
+ [Fact]
+ public void Test2()
+ {
+ var channel = new EmbeddedChannel();
+ jT808SessionManager.TryAddSession(new Metadata.JT808Session(channel, "123456789123"));
+ }
+ }
+}
diff --git a/src/JT808.DotNetty.Test/TestBase.cs b/src/JT808.DotNetty.Test/TestBase.cs
new file mode 100644
index 0000000..abf185f
--- /dev/null
+++ b/src/JT808.DotNetty.Test/TestBase.cs
@@ -0,0 +1,19 @@
+using JT808.DotNetty.Configurations;
+using JT808.DotNetty.Internal;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using System;
+using Xunit;
+
+namespace JT808.DotNetty.Test
+{
+ public class TestBase
+ {
+ private IServiceCollection serviceDescriptors;
+
+ public TestBase()
+ {
+ serviceDescriptors = new ServiceCollection();
+ }
+ }
+}
diff --git a/src/JT808.DotNetty.sln b/src/JT808.DotNetty.sln
index f173c44..df4933a 100644
--- a/src/JT808.DotNetty.sln
+++ b/src/JT808.DotNetty.sln
@@ -7,6 +7,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty", "JT808.Dot
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Hosting", "JT808.DotNetty.Hosting\JT808.DotNetty.Hosting.csproj", "{46772BD5-4132-48A7-856B-11D658F7ADDB}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JT808.DotNetty.Test", "JT808.DotNetty.Test\JT808.DotNetty.Test.csproj", "{7315D030-16CA-4AC8-B892-720F3D78C651}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -21,6 +23,10 @@ Global
{46772BD5-4132-48A7-856B-11D658F7ADDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46772BD5-4132-48A7-856B-11D658F7ADDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46772BD5-4132-48A7-856B-11D658F7ADDB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7315D030-16CA-4AC8-B892-720F3D78C651}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7315D030-16CA-4AC8-B892-720F3D78C651}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7315D030-16CA-4AC8-B892-720F3D78C651}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7315D030-16CA-4AC8-B892-720F3D78C651}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/JT808.DotNetty/Codecs/JT808Decoder.cs b/src/JT808.DotNetty/Codecs/JT808Decoder.cs
index 6ce54b5..d082643 100644
--- a/src/JT808.DotNetty/Codecs/JT808Decoder.cs
+++ b/src/JT808.DotNetty/Codecs/JT808Decoder.cs
@@ -20,18 +20,18 @@ namespace JT808.DotNetty.Codecs
private readonly IJT808SourcePackageDispatcher jT808SourcePackageDispatcher;
+ private readonly JT808AtomicCounterService jT808AtomicCounterService;
+
public JT808Decoder(
+ JT808AtomicCounterService jT808AtomicCounterService,
IJT808SourcePackageDispatcher jT808SourcePackageDispatcher,
ILoggerFactory loggerFactory)
{
+ this.jT808AtomicCounterService = jT808AtomicCounterService;
this.logger = loggerFactory.CreateLogger();
this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher;
}
- private static readonly AtomicCounter MsgSuccessCounter = new AtomicCounter();
-
- private static readonly AtomicCounter MsgFailCounter = new AtomicCounter();
-
protected override void Decode(IChannelHandlerContext context, IByteBuffer input, List