lib/Core/AdNoctem.Substrate.Networking.xml
|
<?xml version="1.0"?>
<doc> <assembly> <name>AdNoctem.Substrate.Networking</name> </assembly> <members> <member name="T:AdNoctem.Substrate.Networking.IPAddressParser"> <summary>Strict IP literal parsing and address calculations without DNS or network access.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.IPAddressParser.TryParse(System.String,System.Net.IPAddress@)"> <summary>Parses address literals only. IPv4 requires four decimal octets without leading zeros; host names, brackets and whitespace are rejected.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.IPAddressParser.GetSolicitedNodeMulticastAddress(System.Net.IPAddress)"> <summary>Calculates an IPv6 solicited-node multicast address while preserving the source scope ID.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.IPNetwork"> <summary>An immutable normalized IPv4 or IPv6 network. Address properties return copies because IPAddress exposes mutable state.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.IPNetwork.#ctor(System.Net.IPAddress,System.Int32)"> <remarks>Host bits are cleared. Scoped IPv6 addresses are rejected: an interface scope is not part of a network prefix. LastAddress is a range endpoint; only IPv4 defines it as a broadcast address, and /31 and /32 have special host semantics.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.IPNetwork.FromSubnetMask(System.Net.IPAddress,System.Net.IPAddress)"> <summary>Converts a contiguous mask; masks with holes are rejected instead of silently counting their set bits.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.NetworkInterfaceAddress"> <summary>An immutable interface address paired with its prefix, when known. Preserves IPv6 scope separately from its network.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.NetworkAdapterSnapshot"> <summary>A detached read-only snapshot. It owns no native handles and never changes the adapter it describes.</summary> <remarks>Input collections and mutable address data are copied. Address getters return copies, preserving snapshot identity. Gateway and DNS order follows the observed Windows configuration; it is not a reachability assessment.</remarks> </member> <member name="T:AdNoctem.Substrate.Networking.NetworkManager"> <summary>Reads network configuration and computes addresses. No prompts, logging, elevation or configuration changes are performed.</summary> <remarks>Snapshot calculations perform no additional network I/O. Missing values return null or empty collections; invalid arguments and provider failures throw. Adapter inventory is Windows-specific; pure address calculations are reusable independently. Inventory timeouts must be positive and at most Int32.MaxValue milliseconds. Each timeout applies to an individual native operation, not the whole inventory. Async inventory offloads synchronous CIM work; cancellation depends on the provider honoring the request. Sessions, operation options and native instances are disposed on success or failure; returned snapshots own no native handles.</remarks> <example><code> var manager = new NetworkManager(); var adapter = await manager.GetDefaultNetworkAdapterAsync( AddressFamily.InterNetwork, TimeSpan.FromSeconds(10), cancellationToken: cancellationToken); if (adapter != null) { var address = manager.GetIPAddress(adapter, AddressFamily.InterNetwork); var prefix = manager.GetNetworkPrefix(adapter, AddressFamily.InterNetwork); var dns = manager.GetDNSServers(adapter, AddressFamily.InterNetwork); } var network = manager.GetNetworkPrefix(IPAddress.Parse("192.0.2.129"), 25); // Canonical prefix: 192.0.2.128/25 </code></example> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetAdapters(System.TimeSpan,System.Threading.CancellationToken)"> <summary>Reads detached adapter, address, route, and DNS observations using Windows CIM.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetDefaultNetworkAdapter(System.Net.Sockets.AddressFamily,System.TimeSpan,System.Nullable{AdNoctem.Substrate.Networking.NetworkAdapterKind},System.Threading.CancellationToken)"> <summary>Selects the adapter for the lowest-metric eligible default route, or returns null if none matches.</summary> <remarks>Uses the lowest route metric among nonzero default next hops for the requested family, without adding the interface metric. It does not claim Internet reachability. Unspecified media kind does not establish that an adapter is a VPN. A kind filter applies to that selected adapter; it does not silently choose another route. Missing routes return null; provider failures throw.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetAdaptersAsync(System.TimeSpan,System.Threading.CancellationToken)"> <summary>Reads adapter observations on a worker thread.</summary> <remarks>CIM reads are synchronous native operations with explicit operation timeouts and cancellation. Async inventory offloads them to the thread pool; cancellation depends on the Windows provider honoring its cancellation request.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetDefaultNetworkAdapterAsync(System.Net.Sockets.AddressFamily,System.TimeSpan,System.Nullable{AdNoctem.Substrate.Networking.NetworkAdapterKind},System.Threading.CancellationToken)"> <summary>Selects a default adapter on a worker thread using the same route and kind-filter rules.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetIPAddress(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot,System.Net.Sockets.AddressFamily)"> <summary>Selects an address of the requested family; IPv6 prefers a non-link-local address. Returns null when absent.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetSubnetMask(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot)"> <summary>Returns the mask of the first observed IPv4 prefix, or null when prefix information is absent.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetDefaultGateway(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot,System.Net.Sockets.AddressFamily)"> <summary>Returns the first observed gateway of the requested family, without probing reachability.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetDNSServers(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot,System.Net.Sockets.AddressFamily)"> <summary>Returns observed DNS server addresses of the requested family, preserving their order.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetNetworkPrefix(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot,System.Net.Sockets.AddressFamily)"> <summary>Builds or selects a canonical network prefix; adapter overloads return null when no matching prefix was observed.</summary> <remarks>Selects the first address of the requested family with a known prefix. This can differ from GetIPAddress's preferred IPv6 address. For an exact association, select an entry from the snapshot's Addresses and use its Network property.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetNetworkPrefixCIDR(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot,System.Net.Sockets.AddressFamily)"> <summary>Formats the selected adapter prefix as canonical CIDR, or returns null when unavailable.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetBroadcastAddress(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot)"> <summary>Returns the IPv4 range's upper endpoint; this does not establish that the address is a usable broadcast destination.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetMulticastAddress(AdNoctem.Substrate.Networking.NetworkAdapterSnapshot)"> <summary>Computes the IPv6 solicited-node multicast address from the supplied or selected adapter address.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetNetworkPrefix(System.Net.IPAddress,System.Int32)"> <summary>Builds or selects a canonical network prefix; adapter overloads return null when no matching prefix was observed.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetNetworkPrefix(System.Net.IPAddress,System.Net.IPAddress)"> <summary>Builds or selects a canonical network prefix; adapter overloads return null when no matching prefix was observed.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetBroadcastAddress(System.Net.IPAddress,System.Net.IPAddress)"> <summary>Returns the IPv4 range's upper endpoint; this does not establish that the address is a usable broadcast destination.</summary> <remarks>Returns the upper IPv4 range endpoint. /31 and /32 do not imply a usable broadcast destination.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkManager.GetMulticastAddress(System.Net.IPAddress)"> <summary>Computes the IPv6 solicited-node multicast address from the supplied or selected adapter address.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.TcpProbeResult"> <summary>Evidence of a TCP connection attempt. A reachable port does not establish application identity, health or authorization.</summary> </member> <member name="P:AdNoctem.Substrate.Networking.TcpProbeResult.Error"> <summary>The last native socket failure for an unsuccessful probe, if any. Successful probes have no error.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.NetworkProbeService"> <summary>Bounded DNS resolution and TCP connection observations with explicit cancellation.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkProbeService.ResolveHostAsync(System.String,System.TimeSpan,System.Threading.CancellationToken)"> <summary>Resolves a host with a bounded caller wait. Missing names preserve their native SocketException; timeout is distinct.</summary> <remarks>The legacy runtime DNS operation cannot be interrupted. Cancellation/timeout ends the caller's wait; a pending resolver completes in the background and its failure is observed. No connection is started after cancellation.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkProbeService.ProbeTcpAsync(System.String,System.Int32,System.TimeSpan,System.Threading.CancellationToken)"> <summary>Resolves and attempts the returned IP addresses in order under one shared deadline, then closes its socket. Cancellation throws; refusal, resolution failure and timeout are typed results. No data or credentials are sent.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.NetworkValidator"> <summary>Pure validation of network values. Does not resolve names, inspect adapters or contact a remote machine.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkValidator.TestIPv4Address(System.String)"> <summary>Accepts strict dotted-decimal IPv4 notation and rejects ambiguous numeric shorthand.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkValidator.TestIPv6Address(System.String)"> <summary>Tests whether the input is a supported IPv6 literal without performing DNS resolution.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkValidator.TestNetworkPrefix(System.String)"> <summary>Tests address and prefix-length syntax without inspecting local routes.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkValidator.TestSubnetMask(System.String)"> <summary>Accepts only IPv4 masks with contiguous leading one bits.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.NetworkValidator.TestMACAddress(System.String)"> <summary>Tests supported six-octet MAC address notation; it does not establish an address's ownership or reachability.</summary> <remarks>Requires six hexadecimal byte pairs separated consistently by colons or hyphens.</remarks> </member> <member name="T:AdNoctem.Substrate.Networking.RemoteChannelResult"> <summary>Evidence from one reachability mechanism. Successful transport access does not prove application health.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.RemoteHostReport"> <summary>Independent channel observations for a remote host, with no single implied availability verdict.</summary> </member> <member name="T:AdNoctem.Substrate.Networking.RemoteHostManager"> <summary>Independent reachability evidence. Optional authentication is explicit; a successful port probe never proves application health.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.RemoteHostManager.Probe(System.String,System.TimeSpan,System.Boolean,System.Net.NetworkCredential,System.Threading.CancellationToken)"> <summary>Collects DNS, ICMP, WSMan, registry-service and RPC evidence, with explicit optional RDP and CredSSP probes.</summary> <remarks>The timeout applies to individual probes; total duration can exceed it. Supplying CredSSP credentials explicitly authorizes that authentication attempt.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.RemoteHostManager.ProbeAsync(System.String,System.TimeSpan,System.Boolean,System.Net.NetworkCredential,System.Threading.CancellationToken)"> <inheritdoc cref="M:AdNoctem.Substrate.Networking.RemoteHostManager.Probe(System.String,System.TimeSpan,System.Boolean,System.Net.NetworkCredential,System.Threading.CancellationToken)"/> </member> <member name="T:AdNoctem.Substrate.Networking.VerifiedDownloadService"> <summary>Downloads HTTPS content and publishes it only after checking a caller-supplied trusted SHA-256 digest.</summary> </member> <member name="M:AdNoctem.Substrate.Networking.VerifiedDownloadService.#ctor(System.Net.Http.HttpClient)"> <remarks>The caller owns the client, its handler, proxy and credential policy. Certificate validation must remain enabled. This service never disposes the supplied client and does not execute or extract downloaded content.</remarks> </member> <member name="M:AdNoctem.Substrate.Networking.VerifiedDownloadService.DownloadAsync(System.Uri,AdNoctem.Substrate.IO.FileSystemPath,System.String,System.Int64,System.TimeSpan,System.Boolean,System.Threading.CancellationToken)"> <remarks>The expected hash must come from an independently trusted source. HTTPS availability alone does not establish trust. The parent directory must exist. Cancellation, size violations, transport failures and hash mismatches leave the destination unchanged. Timeout bounds headers and body together; publication is one filesystem operation and cannot be interrupted once started.</remarks> </member> </members> </doc> |