@@ -2,33 +2,33 @@ namespace ThingConnect.Pulse.Server.Services.Monitoring;
22
33/// <summary>
44/// Service for expanding CIDR ranges, wildcards, and hostnames into individual endpoints.
5+ /// Supports both IPv4 and IPv6.
56/// </summary>
67public interface IDiscoveryService
78{
89 /// <summary>
9- /// Expands a CIDR range (e.g., "10.0.0.0/24") into individual IP addresses.
10+ /// Expands a CIDR range (IPv4 or IPv6) into individual IP addresses.
11+ /// For IPv6, expansion is limited to /128, /127, or /64 to avoid massive expansion.
1012 /// </summary>
11- /// <returns></returns>
1213 IEnumerable < string > ExpandCidr ( string cidr ) ;
1314
1415 /// <summary>
15- /// Expands a wildcard IP (e.g., "10.0.0.*") into individual IP addresses.
16- /// Default range: 1-254 for the wildcard octet.
16+ /// Expands a wildcard IPv4 address (e.g., "10.0.0.*") into individual IP addresses.
17+ /// Default range for the wildcard octet: 1-254 .
1718 /// </summary>
18- /// <returns></returns>
1919 IEnumerable < string > ExpandWildcard ( string wildcard , int startRange = 1 , int endRange = 254 ) ;
2020
2121 /// <summary>
22- /// Resolves a hostname to its IP addresses.
22+ /// Resolves a hostname to its IP addresses (IPv4 and IPv6).
23+ /// IPv6 link-local addresses will include the zone index if applicable.
2324 /// </summary>
24- /// <returns><placeholder>A <see cref="Task"/> representing the asynchronous operation.</placeholder></returns>
2525 Task < IEnumerable < string > > ResolveHostnameAsync ( string hostname , CancellationToken cancellationToken = default ) ;
2626
2727 /// <summary>
28- /// Expands configuration targets into concrete endpoints based on their host specification.
29- /// Handles single hosts, CIDR ranges, and wildcards.
28+ /// Expands configuration targets into concrete endpoints based on host specification.
29+ /// Supports single hosts, CIDR ranges, and wildcards.
30+ /// Automatically handles IPv4 and IPv6 addresses, expanding IPv6 into compressed and full forms if needed.
3031 /// </summary>
31- /// <returns><placeholder>A <see cref="Task"/> representing the asynchronous operation.</placeholder></returns>
3232 Task < IEnumerable < Data . Endpoint > > ExpandTargetsAsync ( IEnumerable < dynamic > configTargets ,
3333 CancellationToken cancellationToken = default ) ;
3434}
0 commit comments