Explorar o código

NetworkManager: Use MemberNotNull attribute

Added in .NET 5, this attribute allows for the compiler to recognize
that InitializeLan (and by extension, UpdateSettings) will initialize
the specified fields.
Alexander Gramiak hai 11 meses
pai
achega
76ac1e6143
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      src/Jellyfin.Networking/Manager/NetworkManager.cs

+ 2 - 2
src/Jellyfin.Networking/Manager/NetworkManager.cs

@@ -81,7 +81,6 @@ public class NetworkManager : INetworkManager, IDisposable
     /// <param name="configurationManager">The <see cref="IConfigurationManager"/> instance.</param>
     /// <param name="startupConfig">The <see cref="IConfiguration"/> instance holding startup parameters.</param>
     /// <param name="logger">Logger to use for messages.</param>
-#pragma warning disable CS8618 // Non-nullable field is uninitialized. : Values are set in UpdateSettings function. Compiler doesn't yet recognise this.
     public NetworkManager(IConfigurationManager configurationManager, IConfiguration startupConfig, ILogger<NetworkManager> logger)
     {
         ArgumentNullException.ThrowIfNull(logger);
@@ -109,7 +108,6 @@ public class NetworkManager : INetworkManager, IDisposable
 
         _configurationManager.NamedConfigurationUpdated += ConfigurationUpdated;
     }
-#pragma warning restore CS8618 // Non-nullable field is uninitialized.
 
     /// <summary>
     /// Event triggered on network changes.
@@ -312,6 +310,7 @@ public class NetworkManager : INetworkManager, IDisposable
     /// <summary>
     /// Initializes internal LAN cache.
     /// </summary>
+    [MemberNotNull(nameof(_lanSubnets), nameof(_excludedSubnets))]
     private void InitializeLan(NetworkConfiguration config)
     {
         lock (_initLock)
@@ -591,6 +590,7 @@ public class NetworkManager : INetworkManager, IDisposable
     /// Reloads all settings and re-Initializes the instance.
     /// </summary>
     /// <param name="configuration">The <see cref="NetworkConfiguration"/> to use.</param>
+    [MemberNotNull(nameof(_lanSubnets), nameof(_excludedSubnets))]
     public void UpdateSettings(object configuration)
     {
         ArgumentNullException.ThrowIfNull(configuration);