diff --git a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net6.0.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net6.0.apilist.cs deleted file mode 100644 index 8058356..0000000 --- a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net6.0.apilist.cs +++ /dev/null @@ -1,482 +0,0 @@ -// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.4.0) -// Name: Smdn.Net.SkStackIP -// AssemblyVersion: 1.4.0.0 -// InformationalVersion: 1.4.0+0042217f1f00329fae1eb89b19f6739d41ff5b21 -// TargetFramework: .NETCoreApp,Version=v6.0 -// Configuration: Release -// Referenced assemblies: -// 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.Fundamental.ControlPicture, Version=3.0.0.1, Culture=neutral -// Smdn.Fundamental.PrintableEncoding.Hexadecimal, Version=3.0.0.0, Culture=neutral -// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a -// System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a -// System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 -// System.Linq, 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.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a -// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a -// System.Runtime.InteropServices, 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.Collections.Generic; -using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; -using System.IO; -using System.IO.Pipelines; -using System.Net; -using System.Net.NetworkInformation; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Polly; -using Smdn.Net.SkStackIP; -using Smdn.Net.SkStackIP.Protocol; - -namespace Smdn.Net.SkStackIP { - public enum SkStackERXUDPDataFormat : int { - Binary = 0, - HexAsciiText = 1, - } - - public enum SkStackErrorCode : int { - ER01 = 1, - ER02 = 2, - ER03 = 3, - ER04 = 4, - ER05 = 5, - ER06 = 6, - ER07 = 7, - ER08 = 8, - ER09 = 9, - ER10 = 10, - Undefined = 0, - } - - public enum SkStackEventNumber : byte { - ActiveScanCompleted = 34, - BeaconReceived = 32, - EchoRequestReceived = 5, - EnergyDetectScanCompleted = 31, - NeighborAdvertisementReceived = 2, - NeighborSolicitationReceived = 1, - PanaSessionEstablishmentCompleted = 37, - PanaSessionEstablishmentError = 36, - PanaSessionExpired = 41, - PanaSessionTerminationCompleted = 39, - PanaSessionTerminationRequestReceived = 38, - PanaSessionTerminationTimedOut = 40, - TransmissionTimeControlLimitationActivated = 50, - TransmissionTimeControlLimitationDeactivated = 51, - UdpSendCompleted = 33, - Undefined = 0, - WakeupSignalReceived = 192, - } - - public enum SkStackResponseStatus : int { - Fail = -1, - Ok = 1, - Undetermined = 0, - } - - public enum SkStackUdpEncryption : byte { - EncryptIfAble = 2, - ForceEncrypt = 1, - ForcePlainText = 0, - } - - public enum SkStackUdpPortHandle : byte { - Handle1 = 1, - Handle2 = 2, - Handle3 = 3, - Handle4 = 4, - Handle5 = 5, - Handle6 = 6, - None = 0, - } - - public abstract class SkStackActiveScanOptions : ICloneable { - public static SkStackActiveScanOptions Default { get; } - public static SkStackActiveScanOptions Null { get; } - public static SkStackActiveScanOptions ScanUntilFind { get; } - - public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, PhysicalAddress paaMacAddress) {} - public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, Predicate? paaSelector = null) {} - public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, uint channelMask, Predicate? paaSelector = null) {} - public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, PhysicalAddress paaMacAddress) {} - public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, Predicate? paaSelector = null) {} - public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, uint channelMask, Predicate? paaSelector = null) {} - - protected SkStackActiveScanOptions() {} - - public abstract SkStackActiveScanOptions Clone(); - public IEnumerable EnumerateScanDurationFactors() {} - object ICloneable.Clone() {} - } - - public class SkStackClient : IDisposable { - public static readonly TimeSpan SKSCANDefaultDuration; // = "00:00:00.0480000" - public static readonly TimeSpan SKSCANMaxDuration; // = "00:02:37.2960000" - public static readonly TimeSpan SKSCANMinDuration; // = "00:00:00.0192000" - - public event EventHandler? PanaSessionEstablished; - public event EventHandler? PanaSessionExpired; - public event EventHandler? PanaSessionTerminated; - public event EventHandler? Slept; - public event EventHandler? WokeUp; - - public SkStackClient(PipeWriter sender, PipeReader receiver, SkStackERXUDPDataFormat erxudpDataFormat = SkStackERXUDPDataFormat.Binary, ILogger? logger = null) {} - public SkStackClient(Stream stream, bool leaveStreamOpen = true, SkStackERXUDPDataFormat erxudpDataFormat = SkStackERXUDPDataFormat.Binary, ILogger? logger = null) {} - - public SkStackERXUDPDataFormat ERXUDPDataFormat { get; protected set; } - [MemberNotNullWhen(true, "PanaSessionPeerAddress")] - public bool IsPanaSessionAlive { [MemberNotNullWhen(true, "PanaSessionPeerAddress")] get; } - protected ILogger? Logger { get; } - public IPAddress? PanaSessionPeerAddress { get; } - public TimeSpan ReceiveResponseDelay { get; set; } - public TimeSpan ReceiveUdpPollingInterval { get; set; } - public ISynchronizeInvoke? SynchronizingObject { get; set; } - - public ValueTask> ActiveScanAsync(Action> writeRBID, Action> writePassword, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} - public ValueTask> ActiveScanAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, IPAddress paaAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, PhysicalAddress paaMacAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, SkStackPanDescription pan, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, IPAddress paaAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, IPAddress paaAddress, int channelNumber, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, PhysicalAddress paaMacAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, PhysicalAddress paaMacAddress, int channelNumber, int panId, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} - public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackPanDescription pan, CancellationToken cancellationToken = default) {} - public async ValueTask ConvertToIPv6LinkLocalAddressAsync(PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} - public ValueTask DisableFlashMemoryAutoLoadAsync(CancellationToken cancellationToken = default) {} - protected virtual void Dispose(bool disposing) {} - public void Dispose() {} - public ValueTask EnableFlashMemoryAutoLoadAsync(CancellationToken cancellationToken = default) {} - public async ValueTask> GetAvailableAddressListAsync(CancellationToken cancellationToken = default) {} - public async ValueTask> GetListeningUdpPortListAsync(CancellationToken cancellationToken = default) {} - public async ValueTask> GetNeighborCacheListAsync(CancellationToken cancellationToken = default) {} - public async ValueTask> GetUnusedUdpPortHandleListAsync(CancellationToken cancellationToken = default) {} - public async ValueTask LoadFlashMemoryAsync(CancellationToken cancellationToken = default) {} - public async ValueTask PrepareUdpPortAsync(int port, CancellationToken cancellationToken = default) {} - public ValueTask ReceiveUdpAsync(int port, IBufferWriter buffer, CancellationToken cancellationToken = default) {} - public ValueTask ReceiveUdpEchonetLiteAsync(IBufferWriter buffer, CancellationToken cancellationToken = default) {} - public ValueTask SaveFlashMemoryAsync(SkStackFlashMemoryWriteRestriction restriction, CancellationToken cancellationToken = default) {} - internal protected ValueTask> SendCommandAsync(ReadOnlyMemory command, Action? writeArguments, SkStackSequenceParser parseResponsePayload, SkStackProtocolSyntax? syntax = null, bool throwIfErrorStatus = true, CancellationToken cancellationToken = default) {} - internal protected async ValueTask SendCommandAsync(ReadOnlyMemory command, Action? writeArguments = null, SkStackProtocolSyntax? syntax = null, bool throwIfErrorStatus = true, CancellationToken cancellationToken = default) {} - public ValueTask SendSKADDNBRAsync(IPAddress ipv6Address, PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} - public ValueTask> SendSKAPPVERAsync(CancellationToken cancellationToken = default) {} - public ValueTask SendSKDSLEEPAsync(bool waitUntilWakeUp = false, CancellationToken cancellationToken = default) {} - public ValueTask SendSKERASEAsync(CancellationToken cancellationToken = default) {} - public ValueTask> SendSKINFOAsync(CancellationToken cancellationToken = default) {} - public ValueTask SendSKJOINAsync(IPAddress ipv6address, CancellationToken cancellationToken = default) {} - public ValueTask> SendSKLL64Async(PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} - public ValueTask SendSKLOADAsync(CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IPAddress Address)> SendSKREJOINAsync(CancellationToken cancellationToken = default) {} - public ValueTask SendSKRESETAsync(CancellationToken cancellationToken = default) {} - public ValueTask SendSKSAVEAsync(CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanPairAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanPairAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyDictionary ScanResult)> SendSKSCANEnergyDetectScanAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, IReadOnlyDictionary ScanResult)> SendSKSCANEnergyDetectScanAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPort port, IPAddress destinationAddress, int destinationPort, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPort port, IPEndPoint destination, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPortHandle handle, IPAddress destinationAddress, int destinationPort, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPortHandle handle, IPEndPoint destination, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETPWDAsync(Action> writePassword, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETPWDAsync(ReadOnlyMemory password, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETPWDAsync(ReadOnlyMemory password, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETRBIDAsync(Action> writeRBID, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETRBIDAsync(ReadOnlyMemory id, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSETRBIDAsync(ReadOnlyMemory id, CancellationToken cancellationToken = default) {} - public ValueTask> SendSKSREGAsync(SkStackRegister.RegisterEntry register, CancellationToken cancellationToken = default) {} - public ValueTask SendSKSREGAsync(SkStackRegister.RegisterEntry register, TValue @value, CancellationToken cancellationToken = default) {} - public ValueTask>> SendSKTABLEAvailableAddressListAsync(CancellationToken cancellationToken = default) {} - public ValueTask>> SendSKTABLEListeningPortListAsync(CancellationToken cancellationToken = default) {} - public ValueTask>> SendSKTABLENeighborCacheListAsync(CancellationToken cancellationToken = default) {} - public async ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKTERMAsync(CancellationToken cancellationToken = default) {} - public ValueTask<(SkStackResponse Response, SkStackUdpPort UdpPort)> SendSKUDPPORTAsync(SkStackUdpPortHandle handle, int port, CancellationToken cancellationToken = default) {} - public ValueTask SendSKUDPPORTUnsetAsync(SkStackUdpPortHandle handle, CancellationToken cancellationToken = default) {} - public ValueTask> SendSKVERAsync(CancellationToken cancellationToken = default) {} - public ValueTask SendUdpEchonetLiteAsync(ReadOnlyMemory buffer, ResiliencePipeline? resiliencePipeline = null, CancellationToken cancellationToken = default) {} - protected async ValueTask SetFlashMemoryAutoLoadAsync(bool trueIfEnable, CancellationToken cancellationToken = default) {} - public void StartCapturingUdpReceiveEvents(int port) {} - public void StopCapturingUdpReceiveEvents(int port) {} - public ValueTask TerminatePanaSessionAsync(CancellationToken cancellationToken = default) {} - protected void ThrowIfDisposed() {} - internal protected void ThrowIfPanaSessionAlreadyEstablished() {} - [MemberNotNull("PanaSessionPeerAddress")] - internal protected void ThrowIfPanaSessionIsNotEstablished() {} - } - - public class SkStackCommandNotSupportedException : SkStackErrorResponseException { - } - - public class SkStackErrorResponseException : SkStackResponseException { - public SkStackErrorCode ErrorCode { get; } - public string ErrorText { get; } - public SkStackResponse Response { get; } - } - - public class SkStackEventArgs : EventArgs { - public SkStackEventNumber EventNumber { get; } - } - - public class SkStackFlashMemoryIOException : SkStackErrorResponseException { - } - - public abstract class SkStackFlashMemoryWriteRestriction { - public static SkStackFlashMemoryWriteRestriction CreateGrantIfElapsed(TimeSpan interval) {} - public static SkStackFlashMemoryWriteRestriction DangerousCreateAlwaysGrant() {} - - protected SkStackFlashMemoryWriteRestriction() {} - - internal protected abstract bool IsRestricted(); - } - - public static class SkStackKnownPortNumbers { - public const int EchonetLite = 3610; - public const int Pana = 716; - } - - public class SkStackPanaSessionEstablishmentException : SkStackPanaSessionException { - public SkStackChannel? Channel { get; } - public IPAddress? PaaAddress { get; } - public int? PanId { get; } - } - - public sealed class SkStackPanaSessionEventArgs : SkStackEventArgs { - public IPAddress PanaSessionPeerAddress { get; } - } - - public abstract class SkStackPanaSessionException : InvalidOperationException { - public IPAddress Address { get; } - public SkStackEventNumber EventNumber { get; } - } - - public sealed class SkStackPanaSessionInfo { - public SkStackChannel Channel { get; } - public IPAddress LocalAddress { get; } - public PhysicalAddress LocalMacAddress { get; } - public int PanId { get; } - public IPAddress PeerAddress { get; } - public PhysicalAddress PeerMacAddress { get; } - } - - public static class SkStackRegister { - public abstract class RegisterEntry { - private protected delegate bool ExpectValueFunc(ref SequenceReader reader, out TValue @value); - - public bool IsReadable { get; } - public bool IsWritable { get; } - public TValue MaxValue { get; } - public TValue MinValue { get; } - public string Name { get; } - } - - public static SkStackRegister.RegisterEntry AcceptIcmpEcho { get; } - public static SkStackRegister.RegisterEntry AccumulatedSendTimeInMilliseconds { get; } - public static SkStackRegister.RegisterEntry Channel { get; } - public static SkStackRegister.RegisterEntry EnableAutoLoad { get; } - public static SkStackRegister.RegisterEntry EnableAutoReauthentication { get; } - public static SkStackRegister.RegisterEntry EnableEchoback { get; } - public static SkStackRegister.RegisterEntry EncryptIPMulticast { get; } - public static SkStackRegister.RegisterEntry FrameCounter { get; } - public static SkStackRegister.RegisterEntry IsSendingRestricted { get; } - public static SkStackRegister.RegisterEntry> PairingId { get; } - public static SkStackRegister.RegisterEntry PanId { get; } - public static SkStackRegister.RegisterEntry PanaSessionLifetimeInSeconds { get; } - public static SkStackRegister.RegisterEntry RespondBeaconRequest { get; } - public static SkStackRegister.RegisterEntry S02 { get; } - public static SkStackRegister.RegisterEntry S03 { get; } - public static SkStackRegister.RegisterEntry S07 { get; } - public static SkStackRegister.RegisterEntry> S0A { get; } - public static SkStackRegister.RegisterEntry S15 { get; } - public static SkStackRegister.RegisterEntry S16 { get; } - public static SkStackRegister.RegisterEntry S17 { get; } - public static SkStackRegister.RegisterEntry SA0 { get; } - public static SkStackRegister.RegisterEntry SA1 { get; } - public static SkStackRegister.RegisterEntry SFB { get; } - public static SkStackRegister.RegisterEntry SFD { get; } - public static SkStackRegister.RegisterEntry SFE { get; } - public static SkStackRegister.RegisterEntry SFF { get; } - } - - public class SkStackResponse { - public SkStackResponseStatus Status { get; } - public ReadOnlyMemory StatusText { get; } - public bool Success { get; } - } - - public class SkStackResponseException : InvalidOperationException { - public SkStackResponseException() {} - public SkStackResponseException(string message) {} - public SkStackResponseException(string message, Exception? innerException = null) {} - } - - public class SkStackResponse : SkStackResponse { - public TPayload Payload { get; } - } - - public class SkStackUartIOException : SkStackErrorResponseException { - } - - public class SkStackUdpSendFailedException : InvalidOperationException { - public SkStackUdpSendFailedException() {} - public SkStackUdpSendFailedException(string message) {} - public SkStackUdpSendFailedException(string message, Exception? innerException = null) {} - public SkStackUdpSendFailedException(string message, SkStackUdpPortHandle portHandle, IPAddress peerAddress, Exception? innerException = null) {} - - public IPAddress? PeerAddress { get; } - public SkStackUdpPortHandle PortHandle { get; } - } - - public class SkStackUdpSendResultIndeterminateException : InvalidOperationException { - public SkStackUdpSendResultIndeterminateException() {} - public SkStackUdpSendResultIndeterminateException(string message) {} - public SkStackUdpSendResultIndeterminateException(string message, Exception? innerException = null) {} - } - - public readonly struct SkStackChannel : - IComparable, - IEquatable - { - public static readonly IReadOnlyDictionary Channels; // = "System.Collections.Generic.Dictionary`2[System.Int32,Smdn.Net.SkStackIP.SkStackChannel]" - public static readonly SkStackChannel Empty; // = "0ch (S02=0x00, 0 MHz)" - - public static SkStackChannel Channel33 { get; } - public static SkStackChannel Channel34 { get; } - public static SkStackChannel Channel35 { get; } - public static SkStackChannel Channel36 { get; } - public static SkStackChannel Channel37 { get; } - public static SkStackChannel Channel38 { get; } - public static SkStackChannel Channel39 { get; } - public static SkStackChannel Channel40 { get; } - public static SkStackChannel Channel41 { get; } - public static SkStackChannel Channel42 { get; } - public static SkStackChannel Channel43 { get; } - public static SkStackChannel Channel44 { get; } - public static SkStackChannel Channel45 { get; } - public static SkStackChannel Channel46 { get; } - public static SkStackChannel Channel47 { get; } - public static SkStackChannel Channel48 { get; } - public static SkStackChannel Channel49 { get; } - public static SkStackChannel Channel50 { get; } - public static SkStackChannel Channel51 { get; } - public static SkStackChannel Channel52 { get; } - public static SkStackChannel Channel53 { get; } - public static SkStackChannel Channel54 { get; } - public static SkStackChannel Channel55 { get; } - public static SkStackChannel Channel56 { get; } - public static SkStackChannel Channel57 { get; } - public static SkStackChannel Channel58 { get; } - public static SkStackChannel Channel59 { get; } - public static SkStackChannel Channel60 { get; } - - public static uint CreateMask(params SkStackChannel[] channels) {} - public static bool operator == (SkStackChannel x, SkStackChannel y) {} - public static bool operator != (SkStackChannel x, SkStackChannel y) {} - - public int ChannelNumber { get; } - public decimal FrequencyMHz { get; } - public bool IsEmpty { get; } - - public bool Equals(SkStackChannel other) {} - public override bool Equals(object? obj) {} - public override int GetHashCode() {} - int IComparable.CompareTo(SkStackChannel other) {} - public override string ToString() {} - } - - public readonly struct SkStackPanDescription { - public SkStackChannel Channel { get; } - public int ChannelPage { get; } - public int Id { get; } - public PhysicalAddress MacAddress { get; } - public uint PairingId { get; } - public decimal Rssi { get; } - - public override string ToString() {} - } - - public readonly struct SkStackUdpPort { - public static readonly SkStackUdpPort Null; // = "0 (#0)" - - public SkStackUdpPortHandle Handle { get; } - public bool IsNull { get; } - public bool IsUnused { get; } - public int Port { get; } - - public override string ToString() {} - } -} - -namespace Smdn.Net.SkStackIP.Protocol { - public delegate TResult SkStackSequenceParser(ISkStackSequenceParserContext context); - - public interface ISkStackCommandLineWriter { - void WriteMaskedToken(ReadOnlySpan token); - void WriteToken(ReadOnlySpan token); - } - - public interface ISkStackSequenceParserContext { - ReadOnlySequence UnparsedSequence { get; } - - void Complete(); - void Complete(SequenceReader consumedReader); - void Continue(); - ISkStackSequenceParserContext CreateCopy(); - virtual SequenceReader CreateReader() {} - void Ignore(); - void SetAsIncomplete(); - void SetAsIncomplete(SequenceReader incompleteReader); - } - - public abstract class SkStackProtocolSyntax { - public static SkStackProtocolSyntax Default { get; } - - protected SkStackProtocolSyntax() {} - - public abstract ReadOnlySpan EndOfCommandLine { get; } - public virtual ReadOnlySpan EndOfEchobackLine { get; } - public abstract ReadOnlySpan EndOfStatusLine { get; } - public abstract bool ExpectStatusLine { get; } - } - - public static class SkStackTokenParser { - public static bool Expect(ref SequenceReader reader, int length, Converter, TValue> converter, [NotNullWhen(true)] out TValue @value) {} - public static bool ExpectADDR16(ref SequenceReader reader, out ushort @value) {} - public static bool ExpectADDR64(ref SequenceReader reader, [NotNullWhen(true)] out PhysicalAddress? @value) {} - public static bool ExpectBinary(ref SequenceReader reader, out bool @value) {} - public static bool ExpectCHANNEL(ref SequenceReader reader, out SkStackChannel @value) {} - public static bool ExpectCharArray(ref SequenceReader reader, [NotNullWhen(true)] out string? @value) {} - public static bool ExpectCharArray(ref SequenceReader reader, out ReadOnlyMemory @value) {} - public static bool ExpectDecimalNumber(ref SequenceReader reader, int length, out uint @value) {} - public static bool ExpectDecimalNumber(ref SequenceReader reader, out uint @value) {} - public static bool ExpectEndOfLine(ref SequenceReader reader) {} - public static bool ExpectIPADDR(ref SequenceReader reader, [NotNullWhen(true)] out IPAddress? @value) {} - public static bool ExpectSequence(ref SequenceReader reader, ReadOnlySpan expectedSequence) {} - public static bool ExpectToken(ref SequenceReader reader, ReadOnlySpan expectedToken) {} - public static bool ExpectUINT16(ref SequenceReader reader, out ushort @value) {} - public static bool ExpectUINT32(ref SequenceReader reader, out uint @value) {} - public static bool ExpectUINT64(ref SequenceReader reader, out ulong @value) {} - public static bool ExpectUINT8(ref SequenceReader reader, out byte @value) {} - public static void ToByteSequence(ReadOnlySequence hexTextSequence, int byteSequenceLength, Span destination) {} - public static bool TryExpectStatusLine(ref SequenceReader reader, out SkStackResponseStatus status) {} - public static OperationStatus TryExpectToken(ref SequenceReader reader, ReadOnlySpan expectedToken) {} - } - - public class SkStackUnexpectedResponseException : SkStackResponseException { - public string? CausedText { get; } - } -} -// 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.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs index 87325dd..f8132cb 100644 --- a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs +++ b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs @@ -1,7 +1,7 @@ -// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.4.0) +// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.5.0) // Name: Smdn.Net.SkStackIP -// AssemblyVersion: 1.4.0.0 -// InformationalVersion: 1.4.0+0042217f1f00329fae1eb89b19f6739d41ff5b21 +// AssemblyVersion: 1.5.0.0 +// InformationalVersion: 1.5.0+631c22046275c09f042cc7f5d6d1e8d6af6500d7 // TargetFramework: .NETCoreApp,Version=v8.0 // Configuration: Release // Referenced assemblies: @@ -136,6 +136,7 @@ public SkStackClient(Stream stream, bool leaveStreamOpen = true, SkStackERXUDPDa public bool IsPanaSessionAlive { [MemberNotNullWhen(true, "PanaSessionPeerAddress")] get; } protected ILogger? Logger { get; } public IPAddress? PanaSessionPeerAddress { get; } + public SkStackEventNumber PanaSessionState { get; } public TimeSpan ReceiveResponseDelay { get; set; } public TimeSpan ReceiveUdpPollingInterval { get; set; } public ISynchronizeInvoke? SynchronizingObject { get; set; } @@ -210,9 +211,13 @@ public void StartCapturingUdpReceiveEvents(int port) {} public void StopCapturingUdpReceiveEvents(int port) {} public ValueTask TerminatePanaSessionAsync(CancellationToken cancellationToken = default) {} protected void ThrowIfDisposed() {} - internal protected void ThrowIfPanaSessionAlreadyEstablished() {} + public void ThrowIfPanaSessionAlreadyEstablished() {} [MemberNotNull("PanaSessionPeerAddress")] + [Obsolete("Use ThrowIfPanaSessionNotEstablished instead.")] internal protected void ThrowIfPanaSessionIsNotEstablished() {} + public void ThrowIfPanaSessionNotAlive() {} + [MemberNotNull("PanaSessionPeerAddress")] + public void ThrowIfPanaSessionNotEstablished() {} } public class SkStackCommandNotSupportedException : SkStackErrorResponseException { @@ -260,6 +265,12 @@ public abstract class SkStackPanaSessionException : InvalidOperationException { public SkStackEventNumber EventNumber { get; } } + public class SkStackPanaSessionExpiredException : SkStackPanaSessionStateException { + public SkStackPanaSessionExpiredException() {} + public SkStackPanaSessionExpiredException(string message) {} + public SkStackPanaSessionExpiredException(string message, Exception? innerException = null) {} + } + public sealed class SkStackPanaSessionInfo { public SkStackChannel Channel { get; } public IPAddress LocalAddress { get; } @@ -269,6 +280,24 @@ public sealed class SkStackPanaSessionInfo { public PhysicalAddress PeerMacAddress { get; } } + public class SkStackPanaSessionNotEstablishedException : SkStackPanaSessionStateException { + public SkStackPanaSessionNotEstablishedException() {} + public SkStackPanaSessionNotEstablishedException(string message) {} + public SkStackPanaSessionNotEstablishedException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionStateException : InvalidOperationException { + public SkStackPanaSessionStateException() {} + public SkStackPanaSessionStateException(string message) {} + public SkStackPanaSessionStateException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionTerminatedException : SkStackPanaSessionStateException { + public SkStackPanaSessionTerminatedException() {} + public SkStackPanaSessionTerminatedException(string message) {} + public SkStackPanaSessionTerminatedException(string message, Exception? innerException = null) {} + } + public static class SkStackRegister { public abstract class RegisterEntry { private protected delegate bool ExpectValueFunc(ref SequenceReader reader, out TValue @value); diff --git a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs index b2faeb7..ae0eb60 100644 --- a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs +++ b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs @@ -1,7 +1,7 @@ -// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.4.0) +// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.5.0) // Name: Smdn.Net.SkStackIP -// AssemblyVersion: 1.4.0.0 -// InformationalVersion: 1.4.0+0042217f1f00329fae1eb89b19f6739d41ff5b21 +// AssemblyVersion: 1.5.0.0 +// InformationalVersion: 1.5.0+631c22046275c09f042cc7f5d6d1e8d6af6500d7 // TargetFramework: .NETStandard,Version=v2.1 // Configuration: Release // Referenced assemblies: @@ -129,6 +129,7 @@ public SkStackClient(Stream stream, bool leaveStreamOpen = true, SkStackERXUDPDa public bool IsPanaSessionAlive { get; } protected ILogger? Logger { get; } public IPAddress? PanaSessionPeerAddress { get; } + public SkStackEventNumber PanaSessionState { get; } public TimeSpan ReceiveResponseDelay { get; set; } public TimeSpan ReceiveUdpPollingInterval { get; set; } public ISynchronizeInvoke? SynchronizingObject { get; set; } @@ -203,8 +204,11 @@ public void StartCapturingUdpReceiveEvents(int port) {} public void StopCapturingUdpReceiveEvents(int port) {} public ValueTask TerminatePanaSessionAsync(CancellationToken cancellationToken = default) {} protected void ThrowIfDisposed() {} - internal protected void ThrowIfPanaSessionAlreadyEstablished() {} + public void ThrowIfPanaSessionAlreadyEstablished() {} + [Obsolete("Use ThrowIfPanaSessionNotEstablished instead.")] internal protected void ThrowIfPanaSessionIsNotEstablished() {} + public void ThrowIfPanaSessionNotAlive() {} + public void ThrowIfPanaSessionNotEstablished() {} } public class SkStackCommandNotSupportedException : SkStackErrorResponseException { @@ -252,6 +256,12 @@ public abstract class SkStackPanaSessionException : InvalidOperationException { public SkStackEventNumber EventNumber { get; } } + public class SkStackPanaSessionExpiredException : SkStackPanaSessionStateException { + public SkStackPanaSessionExpiredException() {} + public SkStackPanaSessionExpiredException(string message) {} + public SkStackPanaSessionExpiredException(string message, Exception? innerException = null) {} + } + public sealed class SkStackPanaSessionInfo { public SkStackChannel Channel { get; } public IPAddress LocalAddress { get; } @@ -261,6 +271,24 @@ public sealed class SkStackPanaSessionInfo { public PhysicalAddress PeerMacAddress { get; } } + public class SkStackPanaSessionNotEstablishedException : SkStackPanaSessionStateException { + public SkStackPanaSessionNotEstablishedException() {} + public SkStackPanaSessionNotEstablishedException(string message) {} + public SkStackPanaSessionNotEstablishedException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionStateException : InvalidOperationException { + public SkStackPanaSessionStateException() {} + public SkStackPanaSessionStateException(string message) {} + public SkStackPanaSessionStateException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionTerminatedException : SkStackPanaSessionStateException { + public SkStackPanaSessionTerminatedException() {} + public SkStackPanaSessionTerminatedException(string message) {} + public SkStackPanaSessionTerminatedException(string message, Exception? innerException = null) {} + } + public static class SkStackRegister { public abstract class RegisterEntry { private protected delegate bool ExpectValueFunc(ref SequenceReader reader, out TValue @value);