55
66namespace Certify . Server . Hub . Api . SignalR . ManagementHub
77{
8+ #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
89 public interface IInstanceManagementStateProvider
910 {
1011 public void Clear ( ) ;
@@ -29,6 +30,7 @@ public interface IInstanceManagementStateProvider
2930 public bool HasStatusSummaryForManagedInstance ( string instanceId ) ;
3031 public ConcurrentDictionary < string , StatusSummary > GetManagedInstanceStatusSummaries ( ) ;
3132 }
33+ #pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
3234
3335 /// <summary>
3436 /// Track state across pool of instance connections to the management hub
@@ -44,11 +46,18 @@ public class InstanceManagementStateProvider : IInstanceManagementStateProvider
4446 private ILogger < InstanceManagementStateProvider > _logger ;
4547 private string _mgmtHubInstanceId = string . Empty ;
4648
49+ /// <summary>
50+ /// Create a new instance of the state provider
51+ /// </summary>
52+ /// <param name="logger"></param>
4753 public InstanceManagementStateProvider ( ILogger < InstanceManagementStateProvider > logger )
4854 {
4955 _logger = logger ;
5056 }
5157
58+ /// <summary>
59+ /// Clear all state
60+ /// </summary>
5261 public void Clear ( )
5362 {
5463 _logger . LogWarning ( "Flushing management hub state, clients will need to reconnect." ) ;
@@ -60,20 +69,33 @@ public void Clear()
6069
6170 }
6271
72+ /// <summary>
73+ /// Set the instance ID of the management hub
74+ /// </summary>
75+ /// <param name="instanceId"></param>
6376 public void SetManagementHubInstanceId ( string instanceId )
6477 {
6578 _mgmtHubInstanceId = instanceId ;
6679 }
6780
81+ /// <summary>
82+ /// Get the instance ID of the management hub
83+ /// </summary>
84+ /// <returns></returns>
6885 public string GetManagementHubInstanceId ( )
6986 {
7087 return _mgmtHubInstanceId ;
7188 }
7289
90+ /// <summary>
91+ /// Get a list of all connected instances
92+ /// </summary>
93+ /// <returns></returns>
7394 public List < ManagedInstanceInfo > GetConnectedInstances ( )
7495 {
7596 return _instanceConnections . Values . ToList ( ) ;
7697 }
98+
7799 /// <summary>
78100 /// Track the instance info associated with a hub connection
79101 /// </summary>
@@ -95,6 +117,11 @@ public void UpdateInstanceConnectionInfo(string connectionId, ManagedInstanceInf
95117 } ) ;
96118 }
97119
120+ /// <summary>
121+ /// Update the status summary for a given instance
122+ /// </summary>
123+ /// <param name="instanceId"></param>
124+ /// <param name="summary"></param>
98125 public void UpdateInstanceStatusSummary ( string instanceId , StatusSummary summary )
99126 {
100127 _managedInstanceStatusSummary . AddOrUpdate ( instanceId , summary , ( i , oldValue ) => summary ) ;
@@ -113,6 +140,11 @@ public string GetConnectionIdForInstance(string instanceId)
113140 return info . Key ;
114141 }
115142
143+ /// <summary>
144+ /// Get the instance ID associated with a given connection ID
145+ /// </summary>
146+ /// <param name="connectionId"></param>
147+ /// <returns></returns>
116148 public string ? GetInstanceIdForConnection ( string connectionId )
117149 {
118150 _instanceConnections . TryGetValue ( connectionId , out var managedInstanceInfo ) ;
@@ -147,11 +179,20 @@ public void AddAwaitedCommandRequest(InstanceCommandRequest command)
147179 return cmd ;
148180 }
149181
182+ /// <summary>
183+ /// Add a command result we are waiting for
184+ /// </summary>
185+ /// <param name="result"></param>
150186 public void AddAwaitedCommandResult ( InstanceCommandResult result )
151187 {
152188 _awaitedCommandResults . AddOrUpdate ( result . CommandId , result , ( i , oldValue ) => result ) ;
153189 }
154190
191+ /// <summary>
192+ /// Wait for a command result to be available
193+ /// </summary>
194+ /// <param name="commandId"></param>
195+ /// <returns></returns>
155196 public async Task < InstanceCommandResult ? > ConsumeAwaitedCommandResult ( Guid commandId )
156197 {
157198 _logger . LogInformation ( "Waiting for command result {commandId}.." , commandId ) ;
@@ -187,22 +228,41 @@ public void RemoveAwaitedCommandRequest(Guid commandId)
187228 _awaitedCommandRequests . Remove ( commandId , out _ ) ;
188229 }
189230
231+ /// <summary>
232+ /// Update the managed certificate items for a given instance
233+ /// </summary>
234+ /// <param name="instanceId"></param>
235+ /// <param name="items"></param>
190236 public void UpdateInstanceItemInfo ( string instanceId , List < ManagedCertificate > items )
191237 {
192238 var info = new ManagedInstanceItems { InstanceId = instanceId , Items = items } ;
193239 _managedInstanceItems . AddOrUpdate ( instanceId , info , ( k , old ) => info ) ;
194240 }
195241
242+ /// <summary>
243+ /// Get the current managed certificate items for a given instance
244+ /// </summary>
245+ /// <param name="instanceId"></param>
246+ /// <returns></returns>
196247 public ConcurrentDictionary < string , ManagedInstanceItems > GetManagedInstanceItems ( string instanceId = null )
197248 {
198249 return _managedInstanceItems ;
199250 }
200251
252+ /// <summary>
253+ /// Get the current status summaries for all managed instances
254+ /// </summary>
255+ /// <returns></returns>
201256 public ConcurrentDictionary < string , StatusSummary > GetManagedInstanceStatusSummaries ( )
202257 {
203258 return _managedInstanceStatusSummary ;
204259 }
205260
261+ /// <summary>
262+ /// Update a cached managed certificate item for a given instance
263+ /// </summary>
264+ /// <param name="instanceId"></param>
265+ /// <param name="managedCertificate"></param>
206266 public void UpdateCachedManagedInstanceItem ( string instanceId , ManagedCertificate managedCertificate )
207267 {
208268 _managedInstanceItems . TryGetValue ( instanceId , out var instance ) ;
@@ -213,16 +273,31 @@ public void UpdateCachedManagedInstanceItem(string instanceId, ManagedCertificat
213273 }
214274 }
215275
276+ /// <summary>
277+ /// Check if we have any items cached for a given managed instance
278+ /// </summary>
279+ /// <param name="instanceId"></param>
280+ /// <returns></returns>
216281 public bool HasItemsForManagedInstance ( string instanceId )
217282 {
218283 return _managedInstanceItems . ContainsKey ( instanceId ) ;
219284 }
220285
286+ /// <summary>
287+ /// Check if we have a status summary for a given managed instance
288+ /// </summary>
289+ /// <param name="instanceId"></param>
290+ /// <returns></returns>
221291 public bool HasStatusSummaryForManagedInstance ( string instanceId )
222292 {
223293 return _managedInstanceStatusSummary . ContainsKey ( instanceId ) ;
224294 }
225295
296+ /// <summary>
297+ /// Remove a cached managed certificate item for a given instance
298+ /// </summary>
299+ /// <param name="instanceId"></param>
300+ /// <param name="managedCertificateId"></param>
226301 public void DeleteCachedManagedInstanceItem ( string instanceId , string managedCertificateId )
227302 {
228303 _managedInstanceItems . TryGetValue ( instanceId , out var instance ) ;
0 commit comments