@@ -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