Skip to content

Commit 31ce605

Browse files
authored
Merge pull request #33 from smdn/releases/Smdn.Net.EchonetLite.RouteB.SkStackIP-2.1.0-1766497898
Release main/Smdn.Net.EchonetLite.RouteB.SkStackIP-2.1.0
2 parents 87e4b85 + 7808778 commit 31ce605

File tree

3 files changed

+170
-11
lines changed

3 files changed

+170
-11
lines changed
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.1.0)
2+
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
3+
// AssemblyVersion: 2.1.0.0
4+
// InformationalVersion: 2.1.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
5+
// TargetFramework: .NETCoreApp,Version=v10.0
6+
// Configuration: Release
7+
// Metadata: IsTrimmable=True
8+
// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
9+
// Metadata: RepositoryBranch=main
10+
// Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
11+
// Referenced assemblies:
12+
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
13+
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
14+
// Microsoft.Extensions.Options, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
15+
// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
16+
// Polly.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
17+
// Smdn.Extensions.Polly.KeyedRegistry, Version=1.2.0.0, Culture=neutral
18+
// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
19+
// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.1.0.0, Culture=neutral
20+
// Smdn.Net.SkStackIP, Version=1.5.2.0, Culture=neutral
21+
// System.Collections, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
22+
// System.ComponentModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
23+
// System.Memory, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
24+
// System.Net.NetworkInformation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
25+
// System.Net.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
26+
// System.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
27+
// System.Threading, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
28+
#nullable enable annotations
29+
30+
using System;
31+
using System.Buffers;
32+
using System.Diagnostics.CodeAnalysis;
33+
using System.Net;
34+
using System.Net.NetworkInformation;
35+
using System.Threading;
36+
using System.Threading.Tasks;
37+
using Microsoft.Extensions.DependencyInjection;
38+
using Microsoft.Extensions.Logging;
39+
using Polly;
40+
using Polly.DependencyInjection;
41+
using Polly.Registry;
42+
using Polly.Registry.KeyedRegistry;
43+
using Smdn.Net.EchonetLite.RouteB.Credentials;
44+
using Smdn.Net.EchonetLite.RouteB.DependencyInjection;
45+
using Smdn.Net.EchonetLite.RouteB.Transport;
46+
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
47+
using Smdn.Net.SkStackIP;
48+
49+
namespace Smdn.Net.EchonetLite.RouteB.DependencyInjection {
50+
public static class SkStackRouteBHandlerFactoryBuilderExtensions {
51+
public static TSkStackRouteBHandlerFactoryBuilder PostConfigureClient<TSkStackRouteBHandlerFactoryBuilder, TServiceKey>(this TSkStackRouteBHandlerFactoryBuilder builder, Action<SkStackClient> postConfigureClient) where TSkStackRouteBHandlerFactoryBuilder : SkStackRouteBHandlerFactoryBuilder<TServiceKey> {}
52+
}
53+
54+
public abstract class SkStackRouteBHandlerFactoryBuilder<TServiceKey> {
55+
internal protected SkStackRouteBHandlerFactoryBuilder(IServiceCollection services, TServiceKey serviceKey, Func<TServiceKey, string?> selectOptionsNameForServiceKey) {}
56+
57+
public TServiceKey ServiceKey { get; }
58+
public IServiceCollection Services { get; }
59+
60+
protected abstract SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider, SkStackRouteBSessionOptions sessionOptions, Action<SkStackClient>? postConfigureClient);
61+
public SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider) {}
62+
protected TOption GetOption<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] TOption>(IServiceProvider serviceProvider) {}
63+
}
64+
65+
public static class SkStackRouteBServiceBuilderExtensions {
66+
public static IRouteBServiceBuilder<TServiceKey> AddResiliencePipelineSkStackHandlerAuthenticate<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
67+
public static IRouteBServiceBuilder<TServiceKey> AddResiliencePipelineSkStackHandlerSendFrame<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
68+
public static IRouteBServiceBuilder<TServiceKey> AddSkStackHandler<TServiceKey, THandlerFactoryBuilder>(this IRouteBServiceBuilder<TServiceKey> builder, Action<SkStackRouteBSessionOptions> configureSessionOptions, Func<IServiceCollection, TServiceKey, Func<TServiceKey, string?>, THandlerFactoryBuilder> createHandlerFactoryBuilder) where THandlerFactoryBuilder : SkStackRouteBHandlerFactoryBuilder<TServiceKey> {}
69+
}
70+
}
71+
72+
namespace Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP {
73+
public abstract class SkStackRouteBHandler : RouteBEchonetLiteHandler {
74+
public static class ResiliencePipelineKeys {
75+
public static readonly string Authenticate = "SkStackRouteBHandler.resiliencePipelineAuthenticate";
76+
public static readonly string Send = "SkStackRouteBHandler.resiliencePipelineSend";
77+
}
78+
79+
public readonly record struct ResiliencePipelineKeyPair<TServiceKey> : IResiliencePipelineKeyPair<TServiceKey, string> {
80+
public ResiliencePipelineKeyPair(TServiceKey serviceKey, string pipelineKey) {}
81+
82+
public string PipelineKey { get; }
83+
public TServiceKey ServiceKey { get; }
84+
85+
public override string ToString() {}
86+
}
87+
88+
public static readonly ResiliencePropertyKey<SkStackRouteBHandler?> ResiliencePropertyKeyForInstance; // = "SkStackRouteBHandler.ResiliencePropertyKeyForInstance"
89+
90+
protected SkStackClient Client { get; }
91+
public override IPAddress? LocalAddress { get; }
92+
public override IPAddress? PeerAddress { get; }
93+
protected SkStackRouteBSessionOptions SessionOptions { get; }
94+
95+
protected override async ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken) {}
96+
protected override async ValueTask DisconnectAsyncCore(CancellationToken cancellationToken) {}
97+
protected override void Dispose(bool disposing) {}
98+
protected override async ValueTask DisposeAsyncCore() {}
99+
protected override ValueTask<IPAddress> ReceiveAsyncCore(IBufferWriter<byte> buffer, CancellationToken cancellationToken) {}
100+
protected override ValueTask SendAsyncCore(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
101+
protected override ValueTask SendToAsyncCore(IPAddress remoteAddress, ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken) {}
102+
protected override void ThrowIfDisposed() {}
103+
}
104+
105+
public abstract class SkStackRouteBHandlerFactory : IRouteBEchonetLiteHandlerFactory {
106+
protected SkStackRouteBHandlerFactory(IServiceProvider serviceProvider, object? routeBServiceKey, SkStackRouteBSessionOptions sessionOptions, Action<SkStackClient>? postConfigureClient) {}
107+
108+
protected Action<SkStackClient>? PostConfigureClient { get; }
109+
public object? RouteBServiceKey { get; }
110+
public IServiceProvider ServiceProvider { get; }
111+
protected SkStackRouteBSessionOptions SessionOptions { get; }
112+
113+
public ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken) {}
114+
protected abstract ValueTask<RouteBEchonetLiteHandler> CreateAsyncCore(CancellationToken cancellationToken);
115+
}
116+
117+
public static class SkStackRouteBHandlerServiceCollectionExtensions {
118+
public static IServiceCollection AddResiliencePipelineForAuthentication(this IServiceCollection services, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<string>> configure) {}
119+
public static IServiceCollection AddResiliencePipelineForAuthentication<TServiceKey>(this IServiceCollection services, TServiceKey serviceKey, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
120+
public static IServiceCollection AddResiliencePipelineForSendingFrame(this IServiceCollection services, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<string>> configure) {}
121+
public static IServiceCollection AddResiliencePipelineForSendingFrame<TServiceKey>(this IServiceCollection services, TServiceKey serviceKey, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
122+
}
123+
124+
public static class SkStackRouteBHandlerServiceProviderExtensions {
125+
public static ResiliencePipelineProvider<string>? GetResiliencePipelineProviderForSkStackRouteBHandler(this IServiceProvider serviceProvider, object? serviceKey) {}
126+
}
127+
128+
public sealed class SkStackRouteBSessionOptions : ICloneable {
129+
public SkStackRouteBSessionOptions() {}
130+
131+
public SkStackActiveScanOptions? ActiveScanOptions { get; set; }
132+
public SkStackChannel? Channel { get; set; }
133+
public IPAddress? PaaAddress { get; set; }
134+
public PhysicalAddress? PaaMacAddress { get; set; }
135+
public int? PanId { get; set; }
136+
137+
public SkStackRouteBSessionOptions Clone() {}
138+
public SkStackRouteBSessionOptions Configure(SkStackRouteBSessionOptions baseOptions) {}
139+
object ICloneable.Clone() {}
140+
}
141+
142+
public class SkStackTcpRouteBHandler : SkStackRouteBHandler {
143+
public SkStackTcpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
144+
}
145+
146+
public class SkStackUdpRouteBHandler : SkStackRouteBHandler {
147+
public SkStackUdpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
148+
}
149+
}
150+
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
151+
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)

doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-net8.0.apilist.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.1)
1+
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.1.0)
22
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
3-
// AssemblyVersion: 2.0.1.0
4-
// InformationalVersion: 2.0.1+d43a3f8ed071ed5e6ac93fdfd72d49d75ba986c5
3+
// AssemblyVersion: 2.1.0.0
4+
// InformationalVersion: 2.1.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
55
// TargetFramework: .NETCoreApp,Version=v8.0
66
// Configuration: Release
7+
// Metadata: IsTrimmable=True
8+
// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
9+
// Metadata: RepositoryBranch=main
10+
// Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
711
// Referenced assemblies:
812
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
913
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
@@ -25,6 +29,7 @@
2529

2630
using System;
2731
using System.Buffers;
32+
using System.Diagnostics.CodeAnalysis;
2833
using System.Net;
2934
using System.Net.NetworkInformation;
3035
using System.Threading;
@@ -54,7 +59,7 @@ internal protected SkStackRouteBHandlerFactoryBuilder(IServiceCollection service
5459

5560
protected abstract SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider, SkStackRouteBSessionOptions sessionOptions, Action<SkStackClient>? postConfigureClient);
5661
public SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider) {}
57-
protected TOption GetOption<TOption>(IServiceProvider serviceProvider) {}
62+
protected TOption GetOption<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] TOption>(IServiceProvider serviceProvider) {}
5863
}
5964

6065
public static class SkStackRouteBServiceBuilderExtensions {
@@ -142,5 +147,5 @@ public class SkStackUdpRouteBHandler : SkStackRouteBHandler {
142147
public SkStackUdpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
143148
}
144149
}
145-
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
146-
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
150+
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
151+
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)

doc/api-list/Smdn.Net.EchonetLite.RouteB.SkStackIP/Smdn.Net.EchonetLite.RouteB.SkStackIP-netstandard2.1.apilist.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.1)
1+
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.1.0)
22
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
3-
// AssemblyVersion: 2.0.1.0
4-
// InformationalVersion: 2.0.1+d43a3f8ed071ed5e6ac93fdfd72d49d75ba986c5
3+
// AssemblyVersion: 2.1.0.0
4+
// InformationalVersion: 2.1.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
55
// TargetFramework: .NETStandard,Version=v2.1
66
// Configuration: Release
7+
// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
8+
// Metadata: RepositoryBranch=main
9+
// Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
710
// Referenced assemblies:
811
// Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
912
// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
@@ -136,5 +139,5 @@ public class SkStackUdpRouteBHandler : SkStackRouteBHandler {
136139
public SkStackUdpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
137140
}
138141
}
139-
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
140-
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
142+
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
143+
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)

0 commit comments

Comments
 (0)