Releases: smdn/Smdn.Net.EchonetLite
Releases · smdn/Smdn.Net.EchonetLite
Smdn.Net.EchonetLite.RouteB.SkStackIP version 2.0.0-preview3
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-10-16 update package version
- 2024-10-16 add Smdn.Net.EchonetLite.RouteB.Primitives to isolate the Route-B abstraction APIs and to prepare the upcoming works
- 2024-09-14 add API for configuring created SkStackClient via ISkStackRouteBEchonetLiteHandlerFactory
- 2024-07-04 modify to be able to perform PANA authentication via the ResiliencePipeline
- 2024-07-04 improve to use the local method instead of delegates
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
index df2879e..d6a2c77 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
@@ -1,101 +1,107 @@
-// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+4d034f0903ea62ea00625815ef039b64f3ec2917
+// InformationalVersion: 2.0.0-preview3+370bdac018b42e5e04f531669d50f03b3bb6922f
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
-// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Threading, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Buffers;
using System.ComponentModel;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
+using Polly;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP {
public interface ISkStackRouteBEchonetLiteHandlerFactory : IRouteBEchonetLiteHandlerFactory {
Action<SkStackRouteBSessionConfiguration>? ConfigureRouteBSessionConfiguration { get; set; }
+ Action<SkStackClient>? ConfigureSkStackClient { get; set; }
}
public enum SkStackRouteBTransportProtocol : int {
Tcp = 0,
Udp = 1,
}
public abstract class SkStackRouteBEchonetLiteHandler : RouteBEchonetLiteHandler {
+ public static readonly string ResiliencePipelineKeyForAuthenticate = "SkStackRouteBEchonetLiteHandler.resiliencePipelineAuthenticate";
public static readonly string ResiliencePipelineKeyForSend = "SkStackRouteBEchonetLiteHandler.resiliencePipelineSend";
+ public static readonly ResiliencePropertyKey<SkStackClient?> ResiliencePropertyKeyForClient; // = "ResiliencePropertyKeyForClient"
public override IPAddress? LocalAddress { get; }
public override IPAddress? PeerAddress { get; }
public override ISynchronizeInvoke? SynchronizingObject { get; set; }
protected override ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken) {}
protected override async ValueTask DisconnectAsyncCore(CancellationToken cancellationToken) {}
protected override void Dispose(bool disposing) {}
protected override async ValueTask DisposeAsyncCore() {}
protected override ValueTask<IPAddress> ReceiveAsyncCore(IBufferWriter<byte> buffer, CancellationToken cancellationToken) {}
protected override ValueTask SendAsyncCore(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
protected override ValueTask SendToAsyncCore(IPAddress remoteAddress, ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
[MemberNotNull("client")]
protected override void ThrowIfDisposed() {}
}
public static class SkStackRouteBEchonetLiteHandlerBuilderExtensions {
+ public static ISkStackRouteBEchonetLiteHandlerFactory ConfigureClient(this ISkStackRouteBEchonetLiteHandlerFactory factory, Action<SkStackClient> configureSkStackClient) {}
public static ISkStackRouteBEchonetLiteHandlerFactory ConfigureSession(this ISkStackRouteBEchonetLiteHandlerFactory factory, Action<SkStackRouteBSessionConfiguration> configureRouteBSessionConfiguration) {}
}
public abstract class SkStackRouteBEchonetLiteHandlerFactory : ISkStackRouteBEchonetLiteHandlerFactory {
protected SkStackRouteBEchonetLiteHandlerFactory(IServiceCollection services) {}
public Action<SkStackRouteBSessionConfiguration>? ConfigureRouteBSessionConfiguration { get; set; }
+ public Action<SkStackClient>? ConfigureSkStackClient { get; set; }
protected abstract SkStackRouteBTransportProtocol TransportProtocol { get; }
public virtual async ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken) {}
protected abstract ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken);
}
public sealed class SkStackRouteBSessionConfiguration : ICloneable {
public SkStackRouteBSessionConfiguration() {}
public SkStackActiveScanOptions? ActiveScanOptions { get; set; }
public SkStackChannel? Channel { get; set; }
public IPAddress? PaaAddress { get; set; }
public PhysicalAddress? PaaMacAddress { get; set; }
public int? PanId { get; set; }
public SkStackRouteBSessionConfiguration Clone() {}
object ICloneable.Clone() {}
}
public sealed class SkStackRouteBTcpEchonetLiteHandler : SkStackRouteBEchonetLiteHandler {
public SkStackRouteBTcpEchonetLiteHandler(SkStackClient client, SkStackRouteBSessionConfiguration sessionConfiguration, bool shouldDisposeClient = false, IServiceProvider? serviceProvider = null) {}
}
public sealed class SkStackRouteBUdpEchonetLiteHandler : SkStackRouteBEchonetLiteHandler {
public SkStackRouteBUdpEchonetLiteHandler(SkStackClient client, SkStackRouteBSessionConfiguration sessionConfiguration, bool shouldDisposeClient = false, IServiceProvider? serviceProvider = null) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
index 6e83ac1..ccb5285 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
@@ -1,101 +1,107 @@
-// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+4d034f0903ea62ea00625815ef039b64f3ec2917
+// InformationalVersion: 2.0.0-preview3+370bdac018b42e5e04f531669d50f03b3bb6922f
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft....
Smdn.Net.EchonetLite.RouteB.Primitives version 2.0.0-preview1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs
new file mode 100644
index 0000000..b9ba083
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs
@@ -0,0 +1,65 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETCoreApp,Version=v6.0
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
+ protected RouteBEchonetLiteHandler() {}
+
+ public abstract IPAddress? PeerAddress { get; }
+
+ public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
+ public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
+ }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
new file mode 100644
index 0000000..6ad7338
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
@@ -0,0 +1,65 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETCoreApp,Version=v8.0
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+// System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
+ protected RouteBEchonetLiteHandler() {}
+
+ public abstract IPAddress? PeerAddress { get; }
+
+ public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
+ public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
+ }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
new file mode 100644
index 0000000..23438af
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
@@ -0,0 +1,63 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETStandard,Version=v2.1
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class Ro...
Smdn.Net.EchonetLite.RouteB.BP35XX version 2.0.0-preview4
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-10-16 update package version
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
index c29c7fa..ae61224 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview4)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
+// InformationalVersion: 2.0.0-preview4+c7a206f316403313ee223391269df5de9d965d32
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
-// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
index dc058d1..2cd12b0 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview4)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
+// InformationalVersion: 2.0.0-preview4+c7a206f316403313ee223391269df5de9d965d32
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
-// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
index 47befa8..ff3f9e8 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
@@ -1,39 +1,39 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview4)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
+// InformationalVersion: 2.0.0-preview4+c7a206f316403313ee223391269df5de9d965d32
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
-// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
Full changes
Full changes in this release:
diff --git a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
index ecfcb9b..db99666 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
+++ b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
@@ -6,7 +6,7 @@ SPDX-License-Ident...
Smdn.Net.EchonetLite.RouteB version 2.0.0-preview3
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-10-16 update package version
- 2024-10-16 update package readme
- 2024-10-16 simplify event args
- 2024-10-16 update package descriptions and tags
- 2024-10-16 import HemsController
- 2024-10-16 import LowVoltageSmartElectricEnergyMeter
- 2024-10-16 move MeasurementValue to Smdn.Net.EchonetLite.RouteB
- 2024-10-16 add Smdn.Net.EchonetLite.RouteB.Primitives to isolate the Route-B abstraction APIs and to prepare the upcoming works
- 2024-10-01 add package Smdn.Net.EchonetLite.Primitives and merge package Smdn.Net.EchonetLite.Transport
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
index ed9997a..1282c31 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
@@ -1,75 +1,142 @@
-// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+c9161acca48757584c059440b4e2b704c3a80505
+// InformationalVersion: 2.0.0-preview3+2612dc0eb7dba458048cbe65c5e156d272f8ee87
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
+// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.0.0.0, Culture=neutral
+// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
-using System.Buffers;
-using System.Net;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Smdn.Net.EchonetLite;
+using Smdn.Net.EchonetLite.ObjectModel;
+using Smdn.Net.EchonetLite.RouteB;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.Transport;
-using Smdn.Net.EchonetLite.Transport;
-namespace Smdn.Net.EchonetLite.RouteB.Credentials {
- public interface IRouteBCredential : IDisposable {
- void WriteIdTo(IBufferWriter<byte> buffer);
- void WritePasswordTo(IBufferWriter<byte> buffer);
- }
+namespace Smdn.Net.EchonetLite.RouteB {
+ public class HemsController :
+ IAsyncDisposable,
+ IDisposable,
+ IRouteBCredentialIdentity
+ {
+ public HemsController(IRouteBEchonetLiteHandlerFactory echonetLiteHandlerFactory, IRouteBCredentialProvider routeBCredentialProvider, ILoggerFactory? loggerFactory = null) {}
+ public HemsController(IServiceProvider serviceProvider) {}
+
+ protected EchonetClient Client { get; }
+ public EchonetObject Controller { get; }
+ [MemberNotNullWhen(false, "echonetLiteHandler")]
+ protected bool IsDisposed { [MemberNotNullWhen(false, "echonetLiteHandler")] get; }
+ public LowVoltageSmartElectricEnergyMeter SmartMeter { get; }
+ public TimeSpan TimeoutWaitingProactiveNotification { get; set; }
+ public TimeSpan TimeoutWaitingResponse1 { get; set; }
+ public TimeSpan TimeoutWaitingResponse2 { get; set; }
- public interface IRouteBCredentialIdentity {
+ public ValueTask ConnectAsync(CancellationToken cancellationToken = default) {}
+ public async ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+ protected virtual void Dispose(bool disposing) {}
+ public void Dispose() {}
+ public async ValueTask DisposeAsync() {}
+ protected virtual async ValueTask DisposeAsyncCore() {}
+ [MemberNotNull("client")]
+ [MemberNotNull("Client")]
+ [MemberNotNull("smartMeterObject")]
+ [MemberNotNull("controllerObject")]
+ protected void ThrowIfDisconnected() {}
}
- public interface IRouteBCredentialProvider {
- IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ public sealed class LowVoltageSmartElectricEnergyMeter : DeviceSuperClass {
+ public IEchonetPropertyGetAccessor<int> Coefficient { get; }
+ public IEchonetPropertyGetAccessor<IReadOnlyList<(MeasurementValue<ElectricEnergyValue> NormalDirection, MeasurementValue<ElectricEnergyValue> ReverseDirection)>> CumulativeElectricEnergyLog2 { get; }
+ public IEchonetPropertySetGetAccessor<DateTime> DayForTheHistoricalDataOfCumulativeElectricEnergy1 { get; }
+ public IEchonetPropertySetGetAccessor<(DateTime DateAndTime, int NumberOfItems)> DayForTheHistoricalDataOfCumulativeElectricEnergy2 { get; }
+ public IEchonetPropertyGetAccessor<(ElectricCurrentValue RPhase, ElectricCurrentValue TPhase)> InstantaneousCurrent { get; }
+ public IEchonetPropertyGetAccessor<int> InstantaneousElectricPower { get; }
+ public IEchonetPropertyGetAccessor<ElectricEnergyValue> NormalDirectionCumulativeElectricEnergy { get; }
+ public IEchonetPropertyGetAccessor<MeasurementValue<ElectricEnergyValue>> NormalDirectionCumulativeElectricEnergyAtEvery30Min { get; }
+ public IEchonetPropertyGetAccessor<IReadOnlyList<MeasurementValue<ElectricEnergyValue>>> NormalDirectionCumulativeElectricEnergyLog1 { get; }
+ public IEchonetPropertyGetAccessor<int> NumberOfEffectiveDigitsCumulativeElectricEnergy { get; }
+ public IEchonetPropertyGetAccessor<(MeasurementValue<ElectricEnergyValue> NormalDirection, MeasurementValue<ElectricEnergyValue> ReverseDirection)> OneMinuteMeasuredCumulativeAmountsOfElectricEnergy { get; }
+ public IEchonetPropertyGetAccessor<ElectricEnergyValue> ReverseDirectionCumulativeElectricEnergy { get; }
+ public IEchonetPropertyGetAccessor<MeasurementValue<ElectricEnergyValue>> ReverseDirectionCumulativeElectricEnergyAtEvery30Min { get; }
+ public IEchonetPropertyGetAccessor<IReadOnlyList<MeasurementValue<ElectricEnergyValue>>> ReverseDirectionCumulativeElectricEnergyLog1 { get; }
+ public IEchonetPropertyGetAccessor<ReadOnlyMemory<byte>> RouteBIdentificationNumber { get; }
+ public IEchonetPropertyGetAccessor<decimal> UnitForCumulativeElectricEnergy { get; }
}
- public static class RouteBCredentialServiceCollectionExtensions {
- public static IServiceCollection AddRouteBCredential(this IServiceCollection services, string id, string password) {}
- public static IServiceCollection AddRouteBCredentialFromEnvironmentVariable(this IServiceCollection services, string envVarForId, string envVarForPassword) {}
- public static IServiceCollection AddRouteBCredentialProvider(this IServiceCollection services, IRouteBCredentialProvider credentialProvider) {}
+ public static class MeasurementValue {
+ public static MeasurementValue<TValue> Create<TValue>(TValue @value, DateTime measuredAt) where TValue : struct {}
}
- public static class RouteBCredentials {
- public const int AuthenticationIdLength = 32;
- public const int PasswordLength = 12;
+ public sealed class RouteBDeviceFactory : IEchonetDeviceFactory {
+ public static RouteBDeviceFactory Instance { get; }
+
+ public RouteBDeviceFactory() {}
+
+ public EchonetDevice? Create(byte classGroupCode, byte classCode, byte instanceCode) {}
}
-}
-namespace Smdn.Net.EchonetLite.RouteB.Transport {
- public interface IRouteBEchonetLiteHandlerBuilder {
- IServiceCollection Services { get; }
+ public readonly struct ElectricCurrentValue {
+ public decimal Amperes { get; }
+ public bool IsValid { get; }
+ public short RawValue { get; }
+
+ public override string ToString() {}
}
- public interface IRouteBEchonetLiteHandlerFactory {
- ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToke...
Smdn.Net.EchonetLite.Primitives version 2.0.0-preview1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs
new file mode 100644
index 0000000..b9ba083
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net6.0.apilist.cs
@@ -0,0 +1,65 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETCoreApp,Version=v6.0
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
+ protected RouteBEchonetLiteHandler() {}
+
+ public abstract IPAddress? PeerAddress { get; }
+
+ public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
+ public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
+ }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
new file mode 100644
index 0000000..6ad7338
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
@@ -0,0 +1,65 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETCoreApp,Version=v8.0
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+// System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
+ protected RouteBEchonetLiteHandler() {}
+
+ public abstract IPAddress? PeerAddress { get; }
+
+ public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
+ public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+ protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
+ }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
new file mode 100644
index 0000000..23438af
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
@@ -0,0 +1,63 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.0.0-preview1)
+// Name: Smdn.Net.EchonetLite.RouteB.Primitives
+// AssemblyVersion: 2.0.0.0
+// InformationalVersion: 2.0.0-preview1+60a8ce3520b765b1bcab669a662cfb615f41a1f5
+// TargetFramework: .NETStandard,Version=v2.1
+// Configuration: Release
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+ public interface IRouteBCredential : IDisposable {
+ void WriteIdTo(IBufferWriter<byte> buffer);
+ void WritePasswordTo(IBufferWriter<byte> buffer);
+ }
+
+ public interface IRouteBCredentialIdentity {
+ }
+
+ public interface IRouteBCredentialProvider {
+ IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+ }
+
+ public static class RouteBCredentials {
+ public const int AuthenticationIdLength = 32;
+ public const int PasswordLength = 12;
+ }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+ public interface IRouteBEchonetLiteHandlerBuilder {
+ IServiceCollection Services { get; }
+ }
+
+ public interface IRouteBEchonetLiteHandlerFactory {
+ ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+ }
+
+ public abstract class RouteBEchonetLit...
Smdn.Net.EchonetLite version 2.0.0-preview2
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-10-16 update package version
- 2024-10-16 simplify event args
- 2024-10-16 define default value explicitly
- 2024-10-16 use IReadOnlyList to express the processing target properties, instead of IReadOnlyCollection
- 2024-10-16 expose ESVExtensions.ToSymbolString
- 2024-10-16 move MeasurementValue to Smdn.Net.EchonetLite.RouteB
- 2024-10-15 fix xml document comment
- 2024-10-15 improve log output
- 2024-10-15 fix trimming null terminator
- 2024-10-15 modify EchonetClient.RequestNotifyInstanceListAsync to be able to specify the destination node address
- 2024-10-15 fix to use non-generic TaskCompletionSource
- 2024-10-15 add support for acquiring extra properties along with property maps
- 2024-10-15 fix to keep property states after applying acquired property maps
- 2024-10-15 reduce duplicate codes
- 2024-10-15 import DeviceSuperClass
- 2024-10-15 import IEchonetPropertyAccessor and its derived ifaces, and impls
- 2024-10-15 import MeasurementValue<TValue>
- 2024-10-14 add extension methods for requesting ESVs from EchonetObject
- 2024-10-14 add EchonetProperty.HasModified to describe whether the value has been changed or accepted as a result of requesting set
- 2024-10-14 introduce EchonetServiceResponse to describe response of ESV requests
- 2024-10-14 simplify operation method namings
- 2024-10-14 simplify ESV method namings
- 2024-10-14 changed the API for each ESV request to be able to use with only primitive types
- 2024-10-14 fix to refer only the requested size range for the buffer rent from ArrayPool
- 2024-10-14 reorganize impls and files of EchonetClient
- 2024-10-14 add PropertyValue.Create
- 2024-10-14 extract and methodize EchonetClient.GetOrAddOtherNode
- 2024-10-14 narrow the accessibilities to internal
- 2024-10-12 change acquring property map to be called manually, instead of when receiving instance list
- 2024-10-12 introduce IEchonetDeviceFactory
- 2024-10-12 introduce API for applying property map
- 2024-10-11 implement EchonetProperty.ToString
- 2024-10-08 implement EchonetObject.ToString
- 2024-10-07 fix logging
- 2024-10-06 simplify new operator
- 2024-10-06 add comment
- 2024-10-06 expose EchonetProfileObjectDetail.NodeProfile
- 2024-10-06 add IEchonetObjectSpecification implementation for the controller class
- 2024-10-06 add overload of EchonetNode.CreateSelfNode that can specify a node profile
- 2024-10-06 expose EchonetObject.CreateNodeProfile
- 2024-10-06 fix static field initialization
- 2024-10-06 fix warning
- 2024-10-06 change HandleFormat1Message to ignore self-started requests
- 2024-10-06 fix value for concurrencyLevel
- 2024-10-06 implement transaction management
- 2024-10-06 fix response handler to handle only responses of the requesting transaction
- 2024-10-06 modify to increment TID using with Interlocked.Increment
- 2024-10-05 fix accessibility modifiers
- 2024-10-05 reverse if and else to simplify conditions
- 2024-10-05 remove abstract members with no usage
- 2024-10-05 expose IReadOnlyDictionary<byte, EchonetProperty> instead of IReadOnlyCollection<EchonetProperty> to be able to simplify property lookups from EPC
- 2024-10-05 correct processing and response for Get/GetSet service operation
- 2024-10-05 add EchonetObject.StorePropertyValue to commonize codes for storing property values
- 2024-10-05 add missing namespace declaration
- 2024-10-05 improve naming and clarify intentions
- 2024-10-04 improve to log exception occured while writing new property value
- 2024-10-04 fix specifying wrong property accessibilities
- 2024-10-04 make sure to log exception occured while handling format 1 messages
- 2024-10-04 fix xml comment docs
- 2024-10-04 fix naming of async method
- 2024-10-03 fix not to reference property objects before acquiring property maps
- 202...
Smdn.Net.EchonetLite.RouteB.BP35XX version 2.0.0-preview3
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-09-06 update package version
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
index d7bbd88..c29c7fa 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
+// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
index 66dfe2d..dc058d1 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
+// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
index 1dd5b39..47befa8 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
@@ -1,39 +1,39 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview3)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
+// InformationalVersion: 2.0.0-preview3+f083b2de6dc07603893bff9d4a263609fd1a919e
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
Full changes
Full changes in this release:
diff --git a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
index acaae6c..ecfcb9b 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
+++ b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>netstandard2.1;net6.0;net8.0</TargetFrameworks>
<VersionPrefix>2.0.0</VersionPrefix>
- <VersionSuffix>preview2</VersionSuffix>
+ <VersionSuffix>preview3</VersionSuffix>
<!-- ...
Smdn.Net.EchonetLite.RouteB.SkStackIP version 2.0.0-preview2
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-06-30 update package version
- 2024-06-30 shorten the lifespan of the route-b credential on memory
- 2024-04-06 fix to use the term 'session' instead of 'connection'
- 2024-04-06 rename directory to match the namespace
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
index b635de6..df2879e 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net6.0.apilist.cs
@@ -1,101 +1,101 @@
-// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+93509882219e05b5d6a8c897a8bdfee251761d59
+// InformationalVersion: 2.0.0-preview2+4d034f0903ea62ea00625815ef039b64f3ec2917
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.SkStackIP, Version=1.0.0.0, Culture=neutral
+// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Threading, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Buffers;
using System.ComponentModel;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP {
public interface ISkStackRouteBEchonetLiteHandlerFactory : IRouteBEchonetLiteHandlerFactory {
Action<SkStackRouteBSessionConfiguration>? ConfigureRouteBSessionConfiguration { get; set; }
}
public enum SkStackRouteBTransportProtocol : int {
Tcp = 0,
Udp = 1,
}
public abstract class SkStackRouteBEchonetLiteHandler : RouteBEchonetLiteHandler {
public static readonly string ResiliencePipelineKeyForSend = "SkStackRouteBEchonetLiteHandler.resiliencePipelineSend";
public override IPAddress? LocalAddress { get; }
public override IPAddress? PeerAddress { get; }
public override ISynchronizeInvoke? SynchronizingObject { get; set; }
protected override ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken) {}
protected override async ValueTask DisconnectAsyncCore(CancellationToken cancellationToken) {}
protected override void Dispose(bool disposing) {}
protected override async ValueTask DisposeAsyncCore() {}
protected override ValueTask<IPAddress> ReceiveAsyncCore(IBufferWriter<byte> buffer, CancellationToken cancellationToken) {}
protected override ValueTask SendAsyncCore(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
protected override ValueTask SendToAsyncCore(IPAddress remoteAddress, ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
[MemberNotNull("client")]
protected override void ThrowIfDisposed() {}
}
public static class SkStackRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory ConfigureSession(this ISkStackRouteBEchonetLiteHandlerFactory factory, Action<SkStackRouteBSessionConfiguration> configureRouteBSessionConfiguration) {}
}
public abstract class SkStackRouteBEchonetLiteHandlerFactory : ISkStackRouteBEchonetLiteHandlerFactory {
protected SkStackRouteBEchonetLiteHandlerFactory(IServiceCollection services) {}
public Action<SkStackRouteBSessionConfiguration>? ConfigureRouteBSessionConfiguration { get; set; }
protected abstract SkStackRouteBTransportProtocol TransportProtocol { get; }
public virtual async ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken) {}
protected abstract ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken);
}
public sealed class SkStackRouteBSessionConfiguration : ICloneable {
public SkStackRouteBSessionConfiguration() {}
public SkStackActiveScanOptions? ActiveScanOptions { get; set; }
public SkStackChannel? Channel { get; set; }
public IPAddress? PaaAddress { get; set; }
public PhysicalAddress? PaaMacAddress { get; set; }
public int? PanId { get; set; }
public SkStackRouteBSessionConfiguration Clone() {}
object ICloneable.Clone() {}
}
public sealed class SkStackRouteBTcpEchonetLiteHandler : SkStackRouteBEchonetLiteHandler {
public SkStackRouteBTcpEchonetLiteHandler(SkStackClient client, SkStackRouteBSessionConfiguration sessionConfiguration, bool shouldDisposeClient = false, IServiceProvider? serviceProvider = null) {}
}
public sealed class SkStackRouteBUdpEchonetLiteHandler : SkStackRouteBEchonetLiteHandler {
public SkStackRouteBUdpEchonetLiteHandler(SkStackClient client, SkStackRouteBSessionConfiguration sessionConfiguration, bool shouldDisposeClient = false, IServiceProvider? serviceProvider = null) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
index 6e971f0..6e83ac1 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs
@@ -1,101 +1,101 @@
-// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+93509882219e05b5d6a8c897a8bdfee251761d59
+// InformationalVersion: 2.0.0-preview2+4d034f0903ea62ea00625815ef039b64f3ec2917
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.SkStackIP, Version=1.0.0.0, Culture=neutral
+// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d5...
Smdn.Net.EchonetLite.RouteB.BP35XX version 2.0.0-preview2
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-06-30 update package version
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
index 1957e48..d7bbd88 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net6.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+7e4ec0f9f1fc7e96046c9643ab2a9a07aa113c90
+// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.SkStackIP, Version=1.0.0.0, Culture=neutral
+// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
index 17124ad..66dfe2d 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-net8.0.apilist.cs
@@ -1,40 +1,40 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+7e4ec0f9f1fc7e96046c9643ab2a9a07aa113c90
+// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.SkStackIP, Version=1.0.0.0, Culture=neutral
+// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
index d6a5ff0..1dd5b39 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX-netstandard2.1.apilist.cs
@@ -1,39 +1,39 @@
-// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.BP35XX.dll (Smdn.Net.EchonetLite.RouteB.BP35XX-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB.BP35XX
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+7e4ec0f9f1fc7e96046c9643ab2a9a07aa113c90
+// InformationalVersion: 2.0.0-preview2+aaf89dd76b82384b6126644a027a919432f09930
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Devices.BP35XX, Version=1.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.SkStackIP, Version=2.0.0.0, Culture=neutral
-// Smdn.Net.SkStackIP, Version=1.0.0.0, Culture=neutral
+// Smdn.Net.SkStackIP, Version=1.2.0.0, Culture=neutral
// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Devices.BP35XX;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.Transport.BP35XX {
public sealed class BP35A1RouteBEchonetLiteHandlerFactory : SkStackRouteBEchonetLiteHandlerFactory {
public BP35A1RouteBEchonetLiteHandlerFactory(IServiceCollection services, Action<BP35A1Configurations> configure) {}
protected override SkStackRouteBTransportProtocol TransportProtocol { get; }
protected override async ValueTask<SkStackClient> CreateClientAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) {}
}
public static class IRouteBEchonetLiteHandlerBuilderExtensions {
public static ISkStackRouteBEchonetLiteHandlerFactory AddBP35A1(this IRouteBEchonetLiteHandlerBuilder builder, Action<BP35A1Configurations> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
Full changes
Full changes in this release:
diff --git a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
index c86ec8a..acaae6c 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
+++ b/src/Smdn.Net.EchonetLite.RouteB.BP35XX/Smdn.Net.EchonetLite.RouteB.BP35XX.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>netstan...
Smdn.Net.EchonetLite.RouteB version 2.0.0-preview2
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-06-30 update package version
- 2024-06-30 add RouteBCredentialServiceCollectionExtensions.AddRouteBCredentialFromEnvironmentVariable
- 2024-06-30 rename RouteBCredentialServiceCollectionExtensions.AddRouteBCredentialProvider
- 2024-04-05 improve to define reference project/package versions in single .targets file
- 2024-04-05 improve to define reference package versions in single .targets file
- 2024-04-05 fix order of property declaration
- 2024-04-05 add placeholder for PackageValidationBaselineVersion
- 2024-04-05 remove duplicate property declarations
- 2024-04-05 split the property settings for the project inherited from the original repository into individual prop file
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
index ed56b16..ed9997a 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net6.0.apilist.cs
@@ -1,74 +1,75 @@
-// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+72e57d7daf6b52fc6ecc4ed745e175a1893e8d90
+// InformationalVersion: 2.0.0-preview2+c9161acca48757584c059440b4e2b704c3a80505
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
-// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Buffers;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.Transport;
namespace Smdn.Net.EchonetLite.RouteB.Credentials {
public interface IRouteBCredential : IDisposable {
void WriteIdTo(IBufferWriter<byte> buffer);
void WritePasswordTo(IBufferWriter<byte> buffer);
}
public interface IRouteBCredentialIdentity {
}
public interface IRouteBCredentialProvider {
IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
}
public static class RouteBCredentialServiceCollectionExtensions {
- public static IServiceCollection AddRouteBCredential(this IServiceCollection services, IRouteBCredentialProvider credentialProvider) {}
public static IServiceCollection AddRouteBCredential(this IServiceCollection services, string id, string password) {}
+ public static IServiceCollection AddRouteBCredentialFromEnvironmentVariable(this IServiceCollection services, string envVarForId, string envVarForPassword) {}
+ public static IServiceCollection AddRouteBCredentialProvider(this IServiceCollection services, IRouteBCredentialProvider credentialProvider) {}
}
public static class RouteBCredentials {
public const int AuthenticationIdLength = 32;
public const int PasswordLength = 12;
}
}
namespace Smdn.Net.EchonetLite.RouteB.Transport {
public interface IRouteBEchonetLiteHandlerBuilder {
IServiceCollection Services { get; }
}
public interface IRouteBEchonetLiteHandlerFactory {
ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
}
public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
protected RouteBEchonetLiteHandler() {}
public abstract IPAddress? PeerAddress { get; }
public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
}
public static class RouteBEchonetLiteHandlerBuilderServiceCollectionExtensions {
public static IServiceCollection AddRouteBHandler(this IServiceCollection services, Action<IRouteBEchonetLiteHandlerBuilder> configure) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net8.0.apilist.cs
index b9ccbb0..4dbf84a 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB/Smdn.Net.EchonetLite.RouteB-net8.0.apilist.cs
@@ -1,74 +1,75 @@
-// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview1)
+// Smdn.Net.EchonetLite.RouteB.dll (Smdn.Net.EchonetLite.RouteB-2.0.0-preview2)
// Name: Smdn.Net.EchonetLite.RouteB
// AssemblyVersion: 2.0.0.0
-// InformationalVersion: 2.0.0-preview1+72e57d7daf6b52fc6ecc4ed745e175a1893e8d90
+// InformationalVersion: 2.0.0-preview2+c9161acca48757584c059440b4e2b704c3a80505
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
-// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Net.EchonetLite.Transport, Version=2.0.0.0, Culture=neutral
// System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Buffers;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.Transport;
namespace Smdn.Net.EchonetLite.RouteB.Credentials {
public interface IRouteBCredential : IDisposable {
void WriteIdTo(IBufferWriter<byte> buffer);
void WritePasswordTo(IBufferWriter<byte> buffer);
}
public interface IRouteBCredentialIdentity {
}
public interface IRouteBCredentialProvider {
IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
}
public static class RouteBCredentialServiceCollectionExtensions {
- public static IServiceCollection AddRouteBCredential(this IServiceCollection services, IRouteBCredentialProvider credentialProvider) {}
public static IServiceCollection AddRouteBCredential(this IServiceCollection services, string id, string password) {}
+ public static IServiceCollection AddRouteBCredentialFromEnvironmentVariable(this IServiceCollection services, string envVarForId, string envVarForPassword) {}
+ public static IServiceCollection AddRouteBCredentialProvider(this IServiceCollection services, IRouteBCredentialProvider credentialProvider) {}
}
public static class RouteBCredentials {
public const int AuthenticationIdLength = 32;
public const int PasswordLength = 12;
}
}
namespace Smdn.Net.EchonetLite.RouteB.Transport {
public interface IRouteBEchonetLiteHandlerBuilder {
IServiceCollection Services { get; }
}
public interface IRouteBEchonetLiteHandlerFactory {
ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
}
public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
protected RouteBEchonetLiteHandler() {}
public abstract IPAddress? PeerAddress { get; }
...