Smdn.Net.EchonetLite.RouteB.SkStackIP
2.0.1
Prefix Reserved
dotnet add package Smdn.Net.EchonetLite.RouteB.SkStackIP --version 2.0.1
NuGet\Install-Package Smdn.Net.EchonetLite.RouteB.SkStackIP -Version 2.0.1
<PackageReference Include="Smdn.Net.EchonetLite.RouteB.SkStackIP" Version="2.0.1" />
<PackageVersion Include="Smdn.Net.EchonetLite.RouteB.SkStackIP" Version="2.0.1" />
<PackageReference Include="Smdn.Net.EchonetLite.RouteB.SkStackIP" />
paket add Smdn.Net.EchonetLite.RouteB.SkStackIP --version 2.0.1
#r "nuget: Smdn.Net.EchonetLite.RouteB.SkStackIP, 2.0.1"
#addin nuget:?package=Smdn.Net.EchonetLite.RouteB.SkStackIP&version=2.0.1
#tool nuget:?package=Smdn.Net.EchonetLite.RouteB.SkStackIP&version=2.0.1
Smdn.Net.EchonetLite.RouteB.SkStackIP 2.0.1
Skyley NetworksのSKSTACK IPを使用して、 スマート電力量メータとの情報伝達手段である「Bルート」を介したECHONET Lite規格の通信を扱うためのAPIを提供します。
ECHONET Lite規格における下位通信層に相当する実装であるSkStackUdpRouteBHandler
クラスをはじめとするAPIを提供します。
Contributing
This project welcomes contributions, feedbacks and suggestions. You can contribute to this project by submitting Issues or Pull Requests on the GitHub repository.
API List
List of APIs exposed by assembly Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.1
(net8.0)
// Smdn.Net.EchonetLite.RouteB.SkStackIP.dll (Smdn.Net.EchonetLite.RouteB.SkStackIP-2.0.1)
// Name: Smdn.Net.EchonetLite.RouteB.SkStackIP
// AssemblyVersion: 2.0.1.0
// InformationalVersion: 2.0.1+d43a3f8ed071ed5e6ac93fdfd72d49d75ba986c5
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// 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
// Microsoft.Extensions.Options, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
// Polly.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc
// Smdn.Extensions.Polly.KeyedRegistry, Version=1.2.0.0, Culture=neutral
// Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
// Smdn.Net.EchonetLite.RouteB.Primitives, Version=2.1.0.0, Culture=neutral
// Smdn.Net.SkStackIP, Version=1.5.2.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.ComponentModel, 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=b03f5f7f11d50a3a
// System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Buffers;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Polly;
using Polly.DependencyInjection;
using Polly.Registry;
using Polly.Registry.KeyedRegistry;
using Smdn.Net.EchonetLite.RouteB.Credentials;
using Smdn.Net.EchonetLite.RouteB.DependencyInjection;
using Smdn.Net.EchonetLite.RouteB.Transport;
using Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP;
using Smdn.Net.SkStackIP;
namespace Smdn.Net.EchonetLite.RouteB.DependencyInjection {
public static class SkStackRouteBHandlerFactoryBuilderExtensions {
public static TSkStackRouteBHandlerFactoryBuilder PostConfigureClient<TSkStackRouteBHandlerFactoryBuilder, TServiceKey>(this TSkStackRouteBHandlerFactoryBuilder builder, Action<SkStackClient> postConfigureClient) where TSkStackRouteBHandlerFactoryBuilder : SkStackRouteBHandlerFactoryBuilder<TServiceKey> {}
}
public abstract class SkStackRouteBHandlerFactoryBuilder<TServiceKey> {
internal protected SkStackRouteBHandlerFactoryBuilder(IServiceCollection services, TServiceKey serviceKey, Func<TServiceKey, string?> selectOptionsNameForServiceKey) {}
public TServiceKey ServiceKey { get; }
public IServiceCollection Services { get; }
protected abstract SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider, SkStackRouteBSessionOptions sessionOptions, Action<SkStackClient>? postConfigureClient);
public SkStackRouteBHandlerFactory Build(IServiceProvider serviceProvider) {}
protected TOption GetOption<TOption>(IServiceProvider serviceProvider) {}
}
public static class SkStackRouteBServiceBuilderExtensions {
public static IRouteBServiceBuilder<TServiceKey> AddResiliencePipelineSkStackHandlerAuthenticate<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
public static IRouteBServiceBuilder<TServiceKey> AddResiliencePipelineSkStackHandlerSendFrame<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
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> {}
}
}
namespace Smdn.Net.EchonetLite.RouteB.Transport.SkStackIP {
public abstract class SkStackRouteBHandler : RouteBEchonetLiteHandler {
public static class ResiliencePipelineKeys {
public static readonly string Authenticate = "SkStackRouteBHandler.resiliencePipelineAuthenticate";
public static readonly string Send = "SkStackRouteBHandler.resiliencePipelineSend";
}
public readonly struct ResiliencePipelineKeyPair<TServiceKey> :
IEquatable<ResiliencePipelineKeyPair<TServiceKey>>,
IResiliencePipelineKeyPair<TServiceKey, string>
{
[CompilerGenerated]
public static bool operator == (SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey> left, SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey> right) {}
[CompilerGenerated]
public static bool operator != (SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey> left, SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey> right) {}
public ResiliencePipelineKeyPair(TServiceKey serviceKey, string pipelineKey) {}
public string PipelineKey { get; }
public TServiceKey ServiceKey { get; }
[CompilerGenerated]
public bool Equals(SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey> other) {}
[CompilerGenerated]
public override bool Equals(object obj) {}
[CompilerGenerated]
public override int GetHashCode() {}
public override string ToString() {}
}
public static readonly ResiliencePropertyKey<SkStackRouteBHandler?> ResiliencePropertyKeyForInstance; // = "SkStackRouteBHandler.ResiliencePropertyKeyForInstance"
protected SkStackClient Client { get; }
public override IPAddress? LocalAddress { get; }
public override IPAddress? PeerAddress { get; }
protected SkStackRouteBSessionOptions SessionOptions { get; }
protected override async 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 abstract class SkStackRouteBHandlerFactory : IRouteBEchonetLiteHandlerFactory {
protected SkStackRouteBHandlerFactory(IServiceProvider serviceProvider, object? routeBServiceKey, SkStackRouteBSessionOptions sessionOptions, Action<SkStackClient>? postConfigureClient) {}
protected Action<SkStackClient>? PostConfigureClient { get; }
public object? RouteBServiceKey { get; }
public IServiceProvider ServiceProvider { get; }
protected SkStackRouteBSessionOptions SessionOptions { get; }
public ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken) {}
protected abstract ValueTask<RouteBEchonetLiteHandler> CreateAsyncCore(CancellationToken cancellationToken);
}
public static class SkStackRouteBHandlerServiceCollectionExtensions {
public static IServiceCollection AddResiliencePipelineForAuthentication(this IServiceCollection services, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<string>> configure) {}
public static IServiceCollection AddResiliencePipelineForAuthentication<TServiceKey>(this IServiceCollection services, TServiceKey serviceKey, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
public static IServiceCollection AddResiliencePipelineForSendingFrame(this IServiceCollection services, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<string>> configure) {}
public static IServiceCollection AddResiliencePipelineForSendingFrame<TServiceKey>(this IServiceCollection services, TServiceKey serviceKey, Action<ResiliencePipelineBuilder, AddResiliencePipelineContext<SkStackRouteBHandler.ResiliencePipelineKeyPair<TServiceKey>>> configure) {}
}
public static class SkStackRouteBHandlerServiceProviderExtensions {
public static ResiliencePipelineProvider<string>? GetResiliencePipelineProviderForSkStackRouteBHandler(this IServiceProvider serviceProvider, object? serviceKey) {}
}
public sealed class SkStackRouteBSessionOptions : ICloneable {
public SkStackRouteBSessionOptions() {}
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 SkStackRouteBSessionOptions Clone() {}
public SkStackRouteBSessionOptions Configure(SkStackRouteBSessionOptions baseOptions) {}
object ICloneable.Clone() {}
}
public class SkStackTcpRouteBHandler : SkStackRouteBHandler {
public SkStackTcpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
}
public class SkStackUdpRouteBHandler : SkStackRouteBHandler {
public SkStackUdpRouteBHandler(SkStackClient client, SkStackRouteBSessionOptions sessionOptions, bool shouldDisposeClient, ILogger? logger, IServiceProvider? serviceProvider, object? routeBServiceKey) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.5.0.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Polly.Extensions (>= 8.0.0)
- Smdn.Extensions.Polly.KeyedRegistry (>= 1.2.0)
- Smdn.Net.EchonetLite.RouteB.Primitives (>= 2.1.0)
- Smdn.Net.SkStackIP (>= 1.5.2 && < 2.0.0)
-
net8.0
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Polly.Extensions (>= 8.0.0)
- Smdn.Extensions.Polly.KeyedRegistry (>= 1.2.0)
- Smdn.Net.EchonetLite.RouteB.Primitives (>= 2.1.0)
- Smdn.Net.SkStackIP (>= 1.5.2 && < 2.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Smdn.Net.EchonetLite.RouteB.SkStackIP:
Package | Downloads |
---|---|
Smdn.Net.EchonetLite.RouteB.BP35XX
BP35A1など、Skyley Networksの[SKSTACK IP](https://www.skyley.com/wiki/?SKSTACK+IP+for+HAN)を搭載する[ROHM Wi-SUNモジュール](https://www.rohm.co.jp/products/wireless-communication/specified-low-power-radio-modules)を使用して、スマート電力量メータとの情報伝達手段である「Bルート」を介したECHONET Lite規格の通信を扱うためのAPIを提供します。 ECHONET Lite規格における下位通信層に相当する実装を作成するファクトリクラス`BP35A1RouteBHandlerFactory`をはじめとするAPIを提供します。 |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.0.1 | 139 | 6/23/2025 |
2.0.0 | 223 | 6/14/2025 |
2.0.0-preview3 | 147 | 10/16/2024 |
2.0.0-preview2 | 95 | 6/30/2024 |
2.0.0-preview1 | 104 | 4/5/2024 |