Skip to content

Commit d9b9375

Browse files
authored
Merge pull request #28 from smdn/releases/Smdn.Net.MuninNode-2.5.0-1748770548
Release main/Smdn.Net.MuninNode-2.5.0
2 parents 41ff114 + f5ce724 commit d9b9375

File tree

2 files changed

+81
-8
lines changed

2 files changed

+81
-8
lines changed

doc/api-list/Smdn.Net.MuninNode/Smdn.Net.MuninNode-net8.0.apilist.cs

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Smdn.Net.MuninNode.dll (Smdn.Net.MuninNode-2.4.0)
1+
// Smdn.Net.MuninNode.dll (Smdn.Net.MuninNode-2.5.0)
22
// Name: Smdn.Net.MuninNode
3-
// AssemblyVersion: 2.4.0.0
4-
// InformationalVersion: 2.4.0+6578cec572157dafbc9518cc746aae28f7f1ce6d
3+
// AssemblyVersion: 2.5.0.0
4+
// InformationalVersion: 2.5.0+41ff114bf69b864033a05a389896010d3eefe4d5
55
// TargetFramework: .NETCoreApp,Version=v8.0
66
// Configuration: Release
77
// Referenced assemblies:
@@ -71,7 +71,7 @@ protected LocalNode(IMuninNodeListenerFactory? listenerFactory, IAccessRule? acc
7171
protected override Socket CreateServerSocket() {}
7272
}
7373

74-
public sealed class MuninNodeOptions {
74+
public class MuninNodeOptions {
7575
public const string DefaultHostName = "munin-node.localhost";
7676
public const int DefaultPort = 4949;
7777

@@ -86,6 +86,7 @@ public MuninNodeOptions() {}
8686

8787
public MuninNodeOptions AllowFrom(IReadOnlyList<IPAddress> addresses, bool shouldConsiderIPv4MappedIPv6Address = true) {}
8888
public MuninNodeOptions AllowFromLoopbackOnly() {}
89+
internal protected virtual void Configure(MuninNodeOptions baseOptions) {}
8990
public MuninNodeOptions UseAnyAddress() {}
9091
public MuninNodeOptions UseAnyAddress(int port) {}
9192
public MuninNodeOptions UseLoopbackAddress() {}
@@ -128,13 +129,18 @@ public Task RunAsync(CancellationToken cancellationToken) {}
128129
[Obsolete("This method will be deprecated in the future.Use IMuninNodeListenerFactory and StartAsync instead.Make sure to override CreateServerSocket if you need to use this method.")]
129130
public void Start() {}
130131
public ValueTask StartAsync(CancellationToken cancellationToken = default) {}
132+
protected virtual ValueTask StartedAsync(CancellationToken cancellationToken) {}
133+
protected virtual ValueTask StartingAsync(CancellationToken cancellationToken) {}
131134
public ValueTask StopAsync(CancellationToken cancellationToken = default) {}
135+
protected virtual ValueTask StoppedAsync(CancellationToken cancellationToken) {}
136+
protected virtual ValueTask StoppingAsync(CancellationToken cancellationToken) {}
132137
protected void ThrowIfDisposed() {}
133138
protected void ThrowIfPluginProviderIsNull() {}
134139
}
135140
}
136141

137142
namespace Smdn.Net.MuninNode.DependencyInjection {
143+
[Obsolete("Use or inherit MuninNodeBuilder instead.")]
138144
public interface IMuninNodeBuilder {
139145
string ServiceKey { get; }
140146
IServiceCollection Services { get; }
@@ -146,6 +152,7 @@ public interface IMuninServiceBuilder {
146152
IServiceCollection Services { get; }
147153
}
148154

155+
[Obsolete("Use MuninNodeBuilderExtensions instead.")]
149156
public static class IMuninNodeBuilderExtensions {
150157
public static IMuninNodeBuilder AddPlugin(this IMuninNodeBuilder builder, Func<IServiceProvider, IPlugin> buildPlugin) {}
151158
public static IMuninNodeBuilder AddPlugin(this IMuninNodeBuilder builder, IPlugin plugin) {}
@@ -162,11 +169,39 @@ public static IMuninNodeBuilder UseSessionCallback(this IMuninNodeBuilder builde
162169
public static class IMuninServiceBuilderExtensions {
163170
public static IMuninNodeBuilder AddNode(this IMuninServiceBuilder builder) {}
164171
public static IMuninNodeBuilder AddNode(this IMuninServiceBuilder builder, Action<MuninNodeOptions> configure) {}
172+
public static TMuninNodeBuilder AddNode<TMuninNode, TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNode : class, IMuninNode where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
173+
public static TMuninNodeBuilder AddNode<TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
174+
public static TMuninNodeBuilder AddNode<TMuninNodeService, TMuninNodeImplementation, TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNodeService : class, IMuninNode where TMuninNodeImplementation : class, TMuninNodeService where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
165175
}
166176

167177
public static class IServiceCollectionExtensions {
168178
public static IServiceCollection AddMunin(this IServiceCollection services, Action<IMuninServiceBuilder> configure) {}
169179
}
180+
181+
public class MuninNodeBuilder : IMuninNodeBuilder {
182+
internal protected MuninNodeBuilder(IMuninServiceBuilder serviceBuilder, string serviceKey) {}
183+
184+
public string ServiceKey { get; }
185+
public IServiceCollection Services { get; }
186+
187+
protected virtual IMuninNode Build(IPluginProvider pluginProvider, IMuninNodeListenerFactory? listenerFactory, IServiceProvider serviceProvider) {}
188+
public IMuninNode Build(IServiceProvider serviceProvider) {}
189+
protected TMuninNodeOptions GetConfiguredOptions<TMuninNodeOptions>(IServiceProvider serviceProvider) where TMuninNodeOptions : MuninNodeOptions {}
190+
}
191+
192+
public static class MuninNodeBuilderExtensions {
193+
public static TMuninNodeBuilder AddPlugin<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IPlugin> buildPlugin) where TMuninNodeBuilder : MuninNodeBuilder {}
194+
public static TMuninNodeBuilder AddPlugin<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IPlugin plugin) where TMuninNodeBuilder : MuninNodeBuilder {}
195+
public static TMuninNode Build<TMuninNode>(this MuninNodeBuilder builder, IServiceProvider serviceProvider) where TMuninNode : IMuninNode {}
196+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, EndPoint, IMuninNode, CancellationToken, ValueTask<IMuninNodeListener>> createListenerAsyncFunc) where TMuninNodeBuilder : MuninNodeBuilder {}
197+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IMuninNodeListenerFactory> buildListenerFactory) where TMuninNodeBuilder : MuninNodeBuilder {}
198+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IMuninNodeListenerFactory listenerFactory) where TMuninNodeBuilder : MuninNodeBuilder {}
199+
public static TMuninNodeBuilder UsePluginProvider<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IPluginProvider> buildPluginProvider) where TMuninNodeBuilder : MuninNodeBuilder {}
200+
public static TMuninNodeBuilder UsePluginProvider<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IPluginProvider pluginProvider) where TMuninNodeBuilder : MuninNodeBuilder {}
201+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, INodeSessionCallback> buildSessionCallback) where TMuninNodeBuilder : MuninNodeBuilder {}
202+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<string, CancellationToken, ValueTask>? reportSessionStartedAsyncFunc, Func<string, CancellationToken, ValueTask>? reportSessionClosedAsyncFunc) where TMuninNodeBuilder : MuninNodeBuilder {}
203+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, INodeSessionCallback sessionCallback) where TMuninNodeBuilder : MuninNodeBuilder {}
204+
}
170205
}
171206

172207
namespace Smdn.Net.MuninNode.Protocol {
@@ -475,6 +510,8 @@ public PluginGraphAttributesBuilder WithGraphRigid() {}
475510
public PluginGraphAttributesBuilder WithGraphUpperLimit(double @value) {}
476511
public PluginGraphAttributesBuilder WithHeight(int height) {}
477512
public PluginGraphAttributesBuilder WithSize(int width, int height) {}
513+
[MemberNotNull("title")]
514+
public PluginGraphAttributesBuilder WithTitle(string title) {}
478515
public PluginGraphAttributesBuilder WithTotal(string labelForTotal) {}
479516
public PluginGraphAttributesBuilder WithUpdateRate(TimeSpan updateRate) {}
480517
public PluginGraphAttributesBuilder WithVerticalLabel(string verticalLabel) {}

doc/api-list/Smdn.Net.MuninNode/Smdn.Net.MuninNode-netstandard2.1.apilist.cs

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Smdn.Net.MuninNode.dll (Smdn.Net.MuninNode-2.4.0)
1+
// Smdn.Net.MuninNode.dll (Smdn.Net.MuninNode-2.5.0)
22
// Name: Smdn.Net.MuninNode
3-
// AssemblyVersion: 2.4.0.0
4-
// InformationalVersion: 2.4.0+6578cec572157dafbc9518cc746aae28f7f1ce6d
3+
// AssemblyVersion: 2.5.0.0
4+
// InformationalVersion: 2.5.0+41ff114bf69b864033a05a389896010d3eefe4d5
55
// TargetFramework: .NETStandard,Version=v2.1
66
// Configuration: Release
77
// Referenced assemblies:
@@ -63,7 +63,7 @@ protected LocalNode(IMuninNodeListenerFactory? listenerFactory, IAccessRule? acc
6363
protected override Socket CreateServerSocket() {}
6464
}
6565

66-
public sealed class MuninNodeOptions {
66+
public class MuninNodeOptions {
6767
public const string DefaultHostName = "munin-node.localhost";
6868
public const int DefaultPort = 4949;
6969

@@ -78,6 +78,7 @@ public MuninNodeOptions() {}
7878

7979
public MuninNodeOptions AllowFrom(IReadOnlyList<IPAddress> addresses, bool shouldConsiderIPv4MappedIPv6Address = true) {}
8080
public MuninNodeOptions AllowFromLoopbackOnly() {}
81+
internal protected virtual void Configure(MuninNodeOptions baseOptions) {}
8182
public MuninNodeOptions UseAnyAddress() {}
8283
public MuninNodeOptions UseAnyAddress(int port) {}
8384
public MuninNodeOptions UseLoopbackAddress() {}
@@ -120,13 +121,18 @@ public Task RunAsync(CancellationToken cancellationToken) {}
120121
[Obsolete("This method will be deprecated in the future.Use IMuninNodeListenerFactory and StartAsync instead.Make sure to override CreateServerSocket if you need to use this method.")]
121122
public void Start() {}
122123
public ValueTask StartAsync(CancellationToken cancellationToken = default) {}
124+
protected virtual ValueTask StartedAsync(CancellationToken cancellationToken) {}
125+
protected virtual ValueTask StartingAsync(CancellationToken cancellationToken) {}
123126
public ValueTask StopAsync(CancellationToken cancellationToken = default) {}
127+
protected virtual ValueTask StoppedAsync(CancellationToken cancellationToken) {}
128+
protected virtual ValueTask StoppingAsync(CancellationToken cancellationToken) {}
124129
protected void ThrowIfDisposed() {}
125130
protected void ThrowIfPluginProviderIsNull() {}
126131
}
127132
}
128133

129134
namespace Smdn.Net.MuninNode.DependencyInjection {
135+
[Obsolete("Use or inherit MuninNodeBuilder instead.")]
130136
public interface IMuninNodeBuilder {
131137
string ServiceKey { get; }
132138
IServiceCollection Services { get; }
@@ -138,6 +144,7 @@ public interface IMuninServiceBuilder {
138144
IServiceCollection Services { get; }
139145
}
140146

147+
[Obsolete("Use MuninNodeBuilderExtensions instead.")]
141148
public static class IMuninNodeBuilderExtensions {
142149
public static IMuninNodeBuilder AddPlugin(this IMuninNodeBuilder builder, Func<IServiceProvider, IPlugin> buildPlugin) {}
143150
public static IMuninNodeBuilder AddPlugin(this IMuninNodeBuilder builder, IPlugin plugin) {}
@@ -154,11 +161,39 @@ public static IMuninNodeBuilder UseSessionCallback(this IMuninNodeBuilder builde
154161
public static class IMuninServiceBuilderExtensions {
155162
public static IMuninNodeBuilder AddNode(this IMuninServiceBuilder builder) {}
156163
public static IMuninNodeBuilder AddNode(this IMuninServiceBuilder builder, Action<MuninNodeOptions> configure) {}
164+
public static TMuninNodeBuilder AddNode<TMuninNode, TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNode : class, IMuninNode where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
165+
public static TMuninNodeBuilder AddNode<TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
166+
public static TMuninNodeBuilder AddNode<TMuninNodeService, TMuninNodeImplementation, TMuninNodeOptions, TMuninNodeBuilder>(this IMuninServiceBuilder builder, Action<TMuninNodeOptions> configure, Func<IMuninServiceBuilder, string, TMuninNodeBuilder> createBuilder) where TMuninNodeService : class, IMuninNode where TMuninNodeImplementation : class, TMuninNodeService where TMuninNodeOptions : MuninNodeOptions, new() where TMuninNodeBuilder : MuninNodeBuilder {}
157167
}
158168

159169
public static class IServiceCollectionExtensions {
160170
public static IServiceCollection AddMunin(this IServiceCollection services, Action<IMuninServiceBuilder> configure) {}
161171
}
172+
173+
public class MuninNodeBuilder : IMuninNodeBuilder {
174+
internal protected MuninNodeBuilder(IMuninServiceBuilder serviceBuilder, string serviceKey) {}
175+
176+
public string ServiceKey { get; }
177+
public IServiceCollection Services { get; }
178+
179+
protected virtual IMuninNode Build(IPluginProvider pluginProvider, IMuninNodeListenerFactory? listenerFactory, IServiceProvider serviceProvider) {}
180+
public IMuninNode Build(IServiceProvider serviceProvider) {}
181+
protected TMuninNodeOptions GetConfiguredOptions<TMuninNodeOptions>(IServiceProvider serviceProvider) where TMuninNodeOptions : MuninNodeOptions {}
182+
}
183+
184+
public static class MuninNodeBuilderExtensions {
185+
public static TMuninNodeBuilder AddPlugin<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IPlugin> buildPlugin) where TMuninNodeBuilder : MuninNodeBuilder {}
186+
public static TMuninNodeBuilder AddPlugin<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IPlugin plugin) where TMuninNodeBuilder : MuninNodeBuilder {}
187+
public static TMuninNode Build<TMuninNode>(this MuninNodeBuilder builder, IServiceProvider serviceProvider) where TMuninNode : IMuninNode {}
188+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, EndPoint, IMuninNode, CancellationToken, ValueTask<IMuninNodeListener>> createListenerAsyncFunc) where TMuninNodeBuilder : MuninNodeBuilder {}
189+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IMuninNodeListenerFactory> buildListenerFactory) where TMuninNodeBuilder : MuninNodeBuilder {}
190+
public static TMuninNodeBuilder UseListenerFactory<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IMuninNodeListenerFactory listenerFactory) where TMuninNodeBuilder : MuninNodeBuilder {}
191+
public static TMuninNodeBuilder UsePluginProvider<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, IPluginProvider> buildPluginProvider) where TMuninNodeBuilder : MuninNodeBuilder {}
192+
public static TMuninNodeBuilder UsePluginProvider<TMuninNodeBuilder>(this TMuninNodeBuilder builder, IPluginProvider pluginProvider) where TMuninNodeBuilder : MuninNodeBuilder {}
193+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<IServiceProvider, INodeSessionCallback> buildSessionCallback) where TMuninNodeBuilder : MuninNodeBuilder {}
194+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, Func<string, CancellationToken, ValueTask>? reportSessionStartedAsyncFunc, Func<string, CancellationToken, ValueTask>? reportSessionClosedAsyncFunc) where TMuninNodeBuilder : MuninNodeBuilder {}
195+
public static TMuninNodeBuilder UseSessionCallback<TMuninNodeBuilder>(this TMuninNodeBuilder builder, INodeSessionCallback sessionCallback) where TMuninNodeBuilder : MuninNodeBuilder {}
196+
}
162197
}
163198

164199
namespace Smdn.Net.MuninNode.Protocol {
@@ -467,6 +502,7 @@ public PluginGraphAttributesBuilder WithGraphRigid() {}
467502
public PluginGraphAttributesBuilder WithGraphUpperLimit(double @value) {}
468503
public PluginGraphAttributesBuilder WithHeight(int height) {}
469504
public PluginGraphAttributesBuilder WithSize(int width, int height) {}
505+
public PluginGraphAttributesBuilder WithTitle(string title) {}
470506
public PluginGraphAttributesBuilder WithTotal(string labelForTotal) {}
471507
public PluginGraphAttributesBuilder WithUpdateRate(TimeSpan updateRate) {}
472508
public PluginGraphAttributesBuilder WithVerticalLabel(string verticalLabel) {}

0 commit comments

Comments
 (0)