From 310cff4e7ca503a0dd43d026bac5cee66fe2408c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 11:35:20 +0800 Subject: [PATCH 01/10] =?UTF-8?q?test:=20=E6=B6=88=E9=99=A4=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTestTcpSocket/TcpSocketPropertyConverterTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/UnitTestTcpSocket/TcpSocketPropertyConverterTest.cs b/test/UnitTestTcpSocket/TcpSocketPropertyConverterTest.cs index cfd3efc0..b7babc65 100644 --- a/test/UnitTestTcpSocket/TcpSocketPropertyConverterTest.cs +++ b/test/UnitTestTcpSocket/TcpSocketPropertyConverterTest.cs @@ -67,6 +67,6 @@ public void DoubleConverter_Ok() { var converter = new DataDoubleLittleEndianConverter(); var actual = converter.Convert(new byte[] { 0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40 }); - Assert.Equal((double)3.14, actual); + Assert.Equal(3.14, actual); } } From 5caf279986660f27cf67118d117504067ee4614a Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 12:47:02 +0800 Subject: [PATCH 02/10] =?UTF-8?q?refactor:=20=E4=BD=BF=E7=94=A8=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E6=96=B9=E6=B3=95=E9=87=8D=E6=9E=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/ActivatorExtesnions.cs | 42 +++++++++++++++++++ .../Extensions/DataPropertyExtensions.cs | 8 +--- .../Extensions/ITcpSocketClientExtensions.cs | 5 +-- 3 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs diff --git a/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs new file mode 100644 index 00000000..a01fc178 --- /dev/null +++ b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs @@ -0,0 +1,42 @@ +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +using System.Reflection; + +namespace System; + +/// +/// Activator 扩展方法 +/// +public static class ActivatorExtesnions +{ + /// + /// 通过指定类型与参数创建实例方法 + /// + /// + /// + /// + public static object? CreateInstance(this Type type, object?[]? args = null) + { + var bindings = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Default; + return Activator.CreateInstance(type, bindings, null, args, null); + } + + /// + /// 通过指定类型与参数创建实例方法 + /// + /// + /// + /// + public static TType? CreateInstance(this Type type, object?[]? args = null) + { + TType? ret = default; + var value = type.CreateInstance(args); + if (value is TType v) + { + ret = v; + } + return ret; + } +} diff --git a/src/extensions/BootstrapBlazor.Socket/Extensions/DataPropertyExtensions.cs b/src/extensions/BootstrapBlazor.Socket/Extensions/DataPropertyExtensions.cs index bcd0fb24..f9e1d34c 100644 --- a/src/extensions/BootstrapBlazor.Socket/Extensions/DataPropertyExtensions.cs +++ b/src/extensions/BootstrapBlazor.Socket/Extensions/DataPropertyExtensions.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ @@ -18,11 +18,7 @@ static class DataPropertyExtensions if (converterType != null) { var converterParameters = attribute.ConverterParameters; - var c = Activator.CreateInstance(converterType, converterParameters); - if (c is IDataPropertyConverter v) - { - converter = v; - } + converter = converterType.CreateInstance(converterParameters); } return converter; } diff --git a/src/extensions/BootstrapBlazor.TcpSocket/Extensions/ITcpSocketClientExtensions.cs b/src/extensions/BootstrapBlazor.TcpSocket/Extensions/ITcpSocketClientExtensions.cs index 1de3aed6..b3814fbf 100644 --- a/src/extensions/BootstrapBlazor.TcpSocket/Extensions/ITcpSocketClientExtensions.cs +++ b/src/extensions/BootstrapBlazor.TcpSocket/Extensions/ITcpSocketClientExtensions.cs @@ -242,10 +242,7 @@ public static void SetDataPackageAdapter(this ITcpSocketClient client, if (converterType is { Type: not null }) { // 如果类型上有 SocketDataTypeConverterAttribute 特性则使用特性中指定的转换器 - if (Activator.CreateInstance(converterType.Type) is IDataConverter socketDataConverter) - { - converter = socketDataConverter; - } + converter = converterType.Type.CreateInstance>(); } else { From 55e3fcf28b14cc87ef7a6c86b6098a85f5fd2b0c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 12:59:10 +0800 Subject: [PATCH 03/10] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E9=80=BB=E8=BE=91=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.Socket/DataConverter/DataConverter.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs index 0a42c06e..ca5524eb 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs @@ -61,7 +61,11 @@ protected virtual bool Parse(ReadOnlyMemory data, TEntity entity) ?? GetPropertyConverterAttribute(p); if (attr != null) { - p.SetValue(entity, attr.ConvertTo(data)); + var v = attr.ConvertTo(data); + if (v?.GetType() == attr.Type) + { + p.SetValue(entity, v); + } } } ret = true; From 3da1cc079191547e253347b0e996a88963c7a063 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 12:59:18 +0800 Subject: [PATCH 04/10] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnitTestTcpSocket/TcpSocketFactoryTest.cs | 57 ++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/test/UnitTestTcpSocket/TcpSocketFactoryTest.cs b/test/UnitTestTcpSocket/TcpSocketFactoryTest.cs index a7a1e4d9..bbe8a6f6 100644 --- a/test/UnitTestTcpSocket/TcpSocketFactoryTest.cs +++ b/test/UnitTestTcpSocket/TcpSocketFactoryTest.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ @@ -916,6 +916,61 @@ Task ReceivedEntityCallBack(MockEntity? entity) } } + [Fact] + public async Task Convert_Ok() + { + var port = 8899; + var server = StartTcpServer(port, MockSplitPackageAsync); + + var client = CreateClient(); + var tcs = new TaskCompletionSource(); + var receivedBuffer = new byte[128]; + MockConverterEntity? entity = null; + + // 连接 TCP Server + var connect = await client.ConnectAsync("localhost", port); + + client.SetDataPackageAdapter(new FixLengthDataPackageHandler(7), ReceivedCallBack); + + var data = new ReadOnlyMemory([1, 2, 3, 4, 5]); + await client.SendAsync(data); + + // 等待接收数据处理完成 + await tcs.Task; + + // 验证实体类不为空 + Assert.NotNull(entity); + Assert.Equal("3.14", entity.Value1.ToString("#.##")); + + Task ReceivedCallBack(MockConverterEntity? data) + { + entity = data; + tcs.SetResult(); + return Task.CompletedTask; + } + } + + [DataTypeConverter(Type = typeof(DataConverter))] + class MockConverterEntity + { + [DataPropertyConverter(Type = typeof(byte[]), Offset = 0, Length = 5)] + public byte[]? Header { get; set; } + + [DataPropertyConverter(Type = typeof(byte[]), Offset = 5, Length = 2)] + public byte[]? Body { get; set; } + + [DataPropertyConverter(Type = typeof(float), Offset = 5, Length = 1, ConverterType = typeof(FloatConverter), ConverterParameters = [0.01f])] + public float Value1 { get; set; } + } + + class FloatConverter(float rate) : IDataPropertyConverter + { + public object? Convert(ReadOnlyMemory data) + { + return (float)Math.Round(314 * rate, 2); + } + } + private static TcpListener StartTcpServer(int port, Func handler) { var server = new TcpListener(IPAddress.Loopback, port); From dfe5e84151a0e040a3aed1d8517acd112b08cac6 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:02:28 +0800 Subject: [PATCH 05/10] chore: bump version 9.0.3 --- .../BootstrapBlazor.Socket/BootstrapBlazor.Socket.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/BootstrapBlazor.Socket/BootstrapBlazor.Socket.csproj b/src/extensions/BootstrapBlazor.Socket/BootstrapBlazor.Socket.csproj index 0c7d232b..311732a6 100644 --- a/src/extensions/BootstrapBlazor.Socket/BootstrapBlazor.Socket.csproj +++ b/src/extensions/BootstrapBlazor.Socket/BootstrapBlazor.Socket.csproj @@ -1,7 +1,7 @@  - 9.0.2 + 9.0.3 From 7edc6842a948fa06581cdeeb39b2ff0121d717be Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:02:47 +0800 Subject: [PATCH 06/10] chore: bump version 9.0.2 --- .../BootstrapBlazor.TcpSocket/BootstrapBlazor.TcpSocket.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/BootstrapBlazor.TcpSocket/BootstrapBlazor.TcpSocket.csproj b/src/extensions/BootstrapBlazor.TcpSocket/BootstrapBlazor.TcpSocket.csproj index e2f2ddc7..da28547c 100644 --- a/src/extensions/BootstrapBlazor.TcpSocket/BootstrapBlazor.TcpSocket.csproj +++ b/src/extensions/BootstrapBlazor.TcpSocket/BootstrapBlazor.TcpSocket.csproj @@ -1,7 +1,7 @@  - 9.0.1 + 9.0.2 From e39104d1131d666af145dc661329d4bea568712b Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:05:28 +0800 Subject: [PATCH 07/10] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=AD=A3=E5=8D=95?= =?UTF-8?q?=E8=AF=8D=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ActivatorExtesnions.cs => ActivatorExtensions.cs} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/extensions/BootstrapBlazor.Socket/Extensions/{ActivatorExtesnions.cs => ActivatorExtensions.cs} (97%) diff --git a/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs similarity index 97% rename from src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs rename to src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs index a01fc178..0c4ec6a1 100644 --- a/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtesnions.cs +++ b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs @@ -9,7 +9,7 @@ namespace System; /// /// Activator 扩展方法 /// -public static class ActivatorExtesnions +public static class ActivatorExtensions { /// /// 通过指定类型与参数创建实例方法 From e8491819ce7a48512362260ea8a6d998cb62caac Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:11:51 +0800 Subject: [PATCH 08/10] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataConverter/DataConverter.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs index ca5524eb..be7e3736 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ @@ -59,12 +59,13 @@ protected virtual bool Parse(ReadOnlyMemory data, TEntity entity) { var attr = p.GetCustomAttribute(false) ?? GetPropertyConverterAttribute(p); - if (attr != null) + if (attr is { Type: not null }) { - var v = attr.ConvertTo(data); - if (v?.GetType() == attr.Type) + var value = attr.ConvertTo(data); + var valueType = value?.GetType(); + if (valueType != null && p.PropertyType.IsAssignableFrom(valueType)) { - p.SetValue(entity, v); + p.SetValue(entity, value); } } } From 8fcc69e52267cbc4646939801d05c77d3c580f00 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:12:45 +0800 Subject: [PATCH 09/10] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs index 0c4ec6a1..0b4bd8d3 100644 --- a/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs +++ b/src/extensions/BootstrapBlazor.Socket/Extensions/ActivatorExtensions.cs @@ -19,7 +19,7 @@ public static class ActivatorExtensions /// public static object? CreateInstance(this Type type, object?[]? args = null) { - var bindings = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Default; + var bindings = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance; return Activator.CreateInstance(type, bindings, null, args, null); } From 4c1ed8770dbab3b291d845f17465c0c652b61d99 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 27 Aug 2025 13:13:57 +0800 Subject: [PATCH 10/10] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=20Header=20?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.Socket/DataAdapter/IDataPackageAdapter.cs | 2 +- .../DataConverter/DataConverterCollections.cs | 2 +- .../DataConverter/DataPropertyConverterAttribute.cs | 2 +- .../DataConverter/DataTypeConverterAttribute.cs | 2 +- .../BootstrapBlazor.Socket/DataConverter/IDataConverter.cs | 2 +- .../DataHandler/DataPackageHandlerBase.cs | 2 +- .../DataHandler/DelimiterDataPackageHandler.cs | 2 +- .../DataHandler/FixLengthDataPackageHandler.cs | 2 +- .../BootstrapBlazor.Socket/DataHandler/IDataPackageHandler.cs | 2 +- .../PropertyConverter/DataBoolConverter.cs | 2 +- .../PropertyConverter/DataByteArrayConverter.cs | 2 +- .../PropertyConverter/DataDoubleBigEndianConverter.cs | 2 +- .../PropertyConverter/DataDoubleLittleEndianConverter.cs | 2 +- .../PropertyConverter/DataEnumConverter.cs | 2 +- .../PropertyConverter/DataInt16BigEndianConverter.cs | 2 +- .../PropertyConverter/DataInt16LittleEndianConverter.cs | 2 +- .../PropertyConverter/DataInt32BigEndianConverter.cs | 2 +- .../PropertyConverter/DataInt32LittleEndianConverter.cs | 2 +- .../PropertyConverter/DataInt64BigEndianConverter.cs | 2 +- .../PropertyConverter/DataInt64LittleEndianConverter.cs | 2 +- .../PropertyConverter/DataSingleBigEndianConverter.cs | 2 +- .../PropertyConverter/DataSingleLittleEndianConverter.cs | 2 +- .../PropertyConverter/DataStringConverter.cs | 2 +- .../PropertyConverter/DataUInt16BigEndianConverter.cs | 2 +- .../PropertyConverter/DataUInt16LittleEndianConverter.cs | 2 +- .../PropertyConverter/DataUInt32BigEndianConverter.cs | 2 +- .../PropertyConverter/DataUInt32LittleEndianConverter.cs | 2 +- .../PropertyConverter/DataUInt64BigEndianConverter.cs | 2 +- .../PropertyConverter/DataUInt64LittleEndianConverter.cs | 2 +- .../PropertyConverter/IDataPropertyConverter.cs | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/extensions/BootstrapBlazor.Socket/DataAdapter/IDataPackageAdapter.cs b/src/extensions/BootstrapBlazor.Socket/DataAdapter/IDataPackageAdapter.cs index 1dc43b1a..282eeb34 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataAdapter/IDataPackageAdapter.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataAdapter/IDataPackageAdapter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverterCollections.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverterCollections.cs index d5ee4336..13a5b8e4 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverterCollections.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataConverterCollections.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataPropertyConverterAttribute.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataPropertyConverterAttribute.cs index 674b27e9..3111f799 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataPropertyConverterAttribute.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataPropertyConverterAttribute.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataTypeConverterAttribute.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataTypeConverterAttribute.cs index 545d8b75..21cbfba1 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/DataTypeConverterAttribute.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/DataTypeConverterAttribute.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataConverter/IDataConverter.cs b/src/extensions/BootstrapBlazor.Socket/DataConverter/IDataConverter.cs index 23e6ad52..7d29298a 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataConverter/IDataConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataConverter/IDataConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataHandler/DataPackageHandlerBase.cs b/src/extensions/BootstrapBlazor.Socket/DataHandler/DataPackageHandlerBase.cs index 91b03060..2417bc1c 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataHandler/DataPackageHandlerBase.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataHandler/DataPackageHandlerBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataHandler/DelimiterDataPackageHandler.cs b/src/extensions/BootstrapBlazor.Socket/DataHandler/DelimiterDataPackageHandler.cs index 214467f3..6ab3a327 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataHandler/DelimiterDataPackageHandler.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataHandler/DelimiterDataPackageHandler.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataHandler/FixLengthDataPackageHandler.cs b/src/extensions/BootstrapBlazor.Socket/DataHandler/FixLengthDataPackageHandler.cs index baabe6af..eed246c0 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataHandler/FixLengthDataPackageHandler.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataHandler/FixLengthDataPackageHandler.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/DataHandler/IDataPackageHandler.cs b/src/extensions/BootstrapBlazor.Socket/DataHandler/IDataPackageHandler.cs index 99285265..6919d16d 100644 --- a/src/extensions/BootstrapBlazor.Socket/DataHandler/IDataPackageHandler.cs +++ b/src/extensions/BootstrapBlazor.Socket/DataHandler/IDataPackageHandler.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataBoolConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataBoolConverter.cs index b9aa50bc..1b0dd9d7 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataBoolConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataBoolConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataByteArrayConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataByteArrayConverter.cs index fb333456..0046a688 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataByteArrayConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataByteArrayConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleBigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleBigEndianConverter.cs index 1edcb864..b8641519 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleBigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleBigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleLittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleLittleEndianConverter.cs index 12e860f1..5e3fba80 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleLittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataDoubleLittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataEnumConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataEnumConverter.cs index 4cb53780..d9bc9a19 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataEnumConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataEnumConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16BigEndianConverter.cs index 9019c37c..a1dbf2b7 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16LittleEndianConverter.cs index 88931d9c..e326fe7b 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt16LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32BigEndianConverter.cs index 55263ee6..041f0d74 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32LittleEndianConverter.cs index 4a8090f7..ebb9b807 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt32LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64BigEndianConverter.cs index 23821449..e00c7bda 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64LittleEndianConverter.cs index f8a4e5b4..3d5cfa90 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataInt64LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleBigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleBigEndianConverter.cs index 0f43bac9..1f1d4f02 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleBigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleBigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleLittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleLittleEndianConverter.cs index a10c36d8..02ce9612 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleLittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataSingleLittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataStringConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataStringConverter.cs index f10f25f2..030e000e 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataStringConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataStringConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16BigEndianConverter.cs index c11ffaa8..e40d5f69 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16LittleEndianConverter.cs index 9babd257..d858be67 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt16LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32BigEndianConverter.cs index c374842c..efa8840b 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32LittleEndianConverter.cs index 5c942aea..ea0025f7 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt32LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64BigEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64BigEndianConverter.cs index 12833ad7..d5e2b153 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64BigEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64BigEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64LittleEndianConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64LittleEndianConverter.cs index 5d0f654c..30e96113 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64LittleEndianConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/DataUInt64LittleEndianConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ diff --git a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/IDataPropertyConverter.cs b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/IDataPropertyConverter.cs index 7bcd794d..b7938a7e 100644 --- a/src/extensions/BootstrapBlazor.Socket/PropertyConverter/IDataPropertyConverter.cs +++ b/src/extensions/BootstrapBlazor.Socket/PropertyConverter/IDataPropertyConverter.cs @@ -1,4 +1,4 @@ -// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/