Beispiel #1
0
 private InventoryPollersResult DoMemoryInventory(
     SnmpSettings nodeSettings,
     SnmpInventorySettings inventorySettings,
     SnmpCredentials credentials)
 {
     return(((InventoryBase) new MemorySnmpInventory()).DoInventory((GlobalSettingsBase)this.globals, (SettingsBase)nodeSettings, (InventorySettingsBase)inventorySettings, (Credential)credentials) as InventoryPollersResult);
 }
Beispiel #2
0
        public static SnmpCredentials GetCredentials(string CredentialName)
        {
            SnmpCredentials snmpCredentials = new SnmpCredentials();

            using (SqlCommand textCommand = SqlHelper.GetTextCommand("SELECT * FROM SNMPV3Credentials WHERE CredentialName = @CredentialName"))
            {
                textCommand.Parameters.Add("@CredentialName", SqlDbType.NVarChar, 200).Value = (object)CredentialName;
                using (IDataReader dataReader = SqlHelper.ExecuteReader(textCommand))
                {
                    if (dataReader.Read())
                    {
                        for (int i = 0; i < dataReader.FieldCount; ++i)
                        {
                            switch (dataReader.GetName(i))
                            {
                            case nameof(CredentialName):
                                snmpCredentials.set_CredentialName(DatabaseFunctions.GetString(dataReader, i));
                                break;

                            case "SNMPV3AuthKey":
                                snmpCredentials.set_SNMPv3AuthPassword(DatabaseFunctions.GetString(dataReader, i));
                                break;

                            case "SNMPV3AuthKeyIsPwd":
                                snmpCredentials.set_SNMPV3AuthKeyIsPwd(DatabaseFunctions.GetBoolean(dataReader, i));
                                break;

                            case "SNMPV3AuthMethod":
                                snmpCredentials.set_SNMPv3AuthType((SNMPv3AuthType)Enum.Parse(typeof(SNMPv3AuthType), DatabaseFunctions.GetString(dataReader, i)));
                                break;

                            case "SNMPV3Context":
                                snmpCredentials.set_SnmpV3Context(DatabaseFunctions.GetString(dataReader, i));
                                break;

                            case "SNMPV3PrivKey":
                                snmpCredentials.set_SNMPv3PrivacyPassword(DatabaseFunctions.GetString(dataReader, i));
                                break;

                            case "SNMPV3PrivKeyIsPwd":
                                snmpCredentials.set_SNMPV3PrivKeyIsPwd(DatabaseFunctions.GetBoolean(dataReader, i));
                                break;

                            case "SNMPV3PrivMethod":
                                snmpCredentials.set_SNMPv3PrivacyType((SNMPv3PrivacyType)Enum.Parse(typeof(SNMPv3PrivacyType), DatabaseFunctions.GetString(dataReader, i)));
                                break;

                            case "SNMPV3Username":
                                snmpCredentials.set_SNMPv3UserName(DatabaseFunctions.GetString(dataReader, i));
                                break;
                            }
                        }
                    }
                }
            }
            return(snmpCredentials);
        }
 // Token: 0x06000867 RID: 2151 RVA: 0x0003C034 File Offset: 0x0003A234
 public static void InsertCredentials(SnmpCredentials crendentials)
 {
     using (SqlCommand textCommand = SqlHelper.GetTextCommand("INSERT INTO [SNMPV3Credentials]\r\n           ([CredentialName]\r\n           ,[SNMPV3Username]\r\n           ,[SNMPV3Context]\r\n           ,[SNMPV3PrivMethod]\r\n           ,[SNMPV3PrivKey]\r\n           ,[SNMPV3PrivKeyIsPwd]\r\n           ,[SNMPV3AuthKey]\r\n           ,[SNMPV3AuthMethod]\r\n           ,[SNMPV3AuthKeyIsPwd])\r\n     VALUES\r\n           (@CredentialName\r\n           ,@SNMPV3Username\r\n           ,@SNMPV3Context\r\n           ,@SNMPV3PrivMethod\r\n           ,@SNMPV3PrivKey\r\n           ,@SNMPV3PrivKeyIsPwd\r\n           ,@SNMPV3AuthKey\r\n           ,@SNMPV3AuthMethod\r\n           ,@SNMPV3AuthKeyIsPwd)"))
     {
         textCommand.Parameters.Add("@CredentialName", SqlDbType.NVarChar, 200).Value  = crendentials.CredentialName;
         textCommand.Parameters.Add("@SNMPV3Username", SqlDbType.NVarChar, 50).Value   = crendentials.SNMPv3UserName;
         textCommand.Parameters.Add("@SNMPV3Context", SqlDbType.NVarChar, 50).Value    = crendentials.SnmpV3Context;
         textCommand.Parameters.Add("@SNMPV3PrivMethod", SqlDbType.NVarChar, 50).Value = crendentials.SNMPv3PrivacyType.ToString();
         textCommand.Parameters.Add("@SNMPV3PrivKey", SqlDbType.NVarChar, 50).Value    = crendentials.SNMPv3PrivacyPassword;
         textCommand.Parameters.Add("@SNMPV3PrivKeyIsPwd", SqlDbType.Bit).Value        = crendentials.SNMPV3PrivKeyIsPwd;
         textCommand.Parameters.Add("@SNMPV3AuthKey", SqlDbType.NVarChar, 50).Value    = crendentials.SNMPv3AuthPassword;
         textCommand.Parameters.Add("@SNMPV3AuthMethod", SqlDbType.NVarChar, 50).Value = crendentials.SNMPv3AuthType.ToString();
         textCommand.Parameters.Add("@SNMPV3AuthKeyIsPwd", SqlDbType.Bit).Value        = crendentials.SNMPV3AuthKeyIsPwd;
         SqlHelper.ExecuteNonQuery(textCommand);
     }
 }
 // Token: 0x0600086A RID: 2154 RVA: 0x0003C4E0 File Offset: 0x0003A6E0
 public static void UpdateCredentials(SnmpCredentials credentials)
 {
     using (SqlCommand textCommand = SqlHelper.GetTextCommand("UPDATE [SNMPV3Credentials]\r\n\t\t\t\t\t\t\t\tSET [SNMPV3Username] = @SNMPV3Username\r\n\t\t\t\t\t\t\t\t,[SNMPV3Context] = @SNMPV3Context\r\n\t\t\t\t\t\t\t\t,[SNMPV3PrivMethod] = @SNMPV3PrivMethod\r\n\t\t\t\t\t\t\t\t,[SNMPV3PrivKey] = @SNMPV3PrivKey\r\n\t\t\t\t\t\t\t\t,[SNMPV3PrivKeyIsPwd] = @SNMPV3PrivKeyIsPwd\r\n\t\t\t\t\t\t\t\t,[SNMPV3AuthKey] = @SNMPV3AuthKey\r\n\t\t\t\t\t\t\t\t,[SNMPV3AuthMethod] = @SNMPV3AuthMethod\r\n\t\t\t\t\t\t\t\t,[SNMPV3AuthKeyIsPwd] = @SNMPV3AuthKeyIsPwd\r\n\t\t\t\t\t\t\t\tWHERE [CredentialName] = @CredentialName"))
     {
         textCommand.Parameters.Add("@CredentialName", SqlDbType.NVarChar, 200).Value  = credentials.CredentialName;
         textCommand.Parameters.Add("@SNMPV3Username", SqlDbType.NVarChar, 50).Value   = credentials.SNMPv3UserName;
         textCommand.Parameters.Add("@SNMPV3Context", SqlDbType.NVarChar, 50).Value    = credentials.SnmpV3Context;
         textCommand.Parameters.Add("@SNMPV3PrivMethod", SqlDbType.NVarChar, 50).Value = credentials.SNMPv3PrivacyType.ToString();
         textCommand.Parameters.Add("@SNMPV3PrivKey", SqlDbType.NVarChar, 50).Value    = credentials.SNMPv3PrivacyPassword;
         textCommand.Parameters.Add("@SNMPV3PrivKeyIsPwd", SqlDbType.Bit).Value        = credentials.SNMPV3PrivKeyIsPwd;
         textCommand.Parameters.Add("@SNMPV3AuthKey", SqlDbType.NVarChar, 50).Value    = credentials.SNMPv3AuthPassword;
         textCommand.Parameters.Add("@SNMPV3AuthMethod", SqlDbType.NVarChar, 50).Value = credentials.SNMPv3AuthType.ToString();
         textCommand.Parameters.Add("@SNMPV3AuthKeyIsPwd", SqlDbType.Bit).Value        = credentials.SNMPV3AuthKeyIsPwd;
         SqlHelper.ExecuteNonQuery(textCommand);
     }
 }
        // Token: 0x06000869 RID: 2153 RVA: 0x0003C210 File Offset: 0x0003A410
        public static SnmpCredentials GetCredentials(string CredentialName)
        {
            string          text            = "SELECT * FROM SNMPV3Credentials WHERE CredentialName = @CredentialName";
            SnmpCredentials snmpCredentials = new SnmpCredentials();

            using (SqlCommand textCommand = SqlHelper.GetTextCommand(text))
            {
                textCommand.Parameters.Add("@CredentialName", SqlDbType.NVarChar, 200).Value = CredentialName;
                using (IDataReader dataReader = SqlHelper.ExecuteReader(textCommand))
                {
                    if (dataReader.Read())
                    {
                        for (int i = 0; i < dataReader.FieldCount; i++)
                        {
                            string name = dataReader.GetName(i);
                            uint   num  = < PrivateImplementationDetails >.ComputeStringHash(name);
                            if (num <= 2220914390U)
                            {
                                if (num <= 943772474U)
                                {
                                    if (num != 79874626U)
                                    {
                                        if (num == 943772474U)
                                        {
                                            if (name == "SNMPV3PrivMethod")
                                            {
                                                snmpCredentials.SNMPv3PrivacyType = (SNMPv3PrivacyType)Enum.Parse(typeof(SNMPv3PrivacyType), DatabaseFunctions.GetString(dataReader, i));
                                            }
                                        }
                                    }
                                    else if (name == "SNMPV3AuthKeyIsPwd")
                                    {
                                        snmpCredentials.SNMPV3AuthKeyIsPwd = DatabaseFunctions.GetBoolean(dataReader, i);
                                    }
                                }
                                else if (num != 1780899965U)
                                {
                                    if (num == 2220914390U)
                                    {
                                        if (name == "SNMPV3Username")
                                        {
                                            snmpCredentials.SNMPv3UserName = DatabaseFunctions.GetString(dataReader, i);
                                        }
                                    }
                                }
                                else if (name == "SNMPV3Context")
                                {
                                    snmpCredentials.SnmpV3Context = DatabaseFunctions.GetString(dataReader, i);
                                }
                            }
                            else if (num <= 3748776610U)
                            {
                                if (num != 3070255433U)
                                {
                                    if (num == 3748776610U)
                                    {
                                        if (name == "SNMPV3PrivKey")
                                        {
                                            snmpCredentials.SNMPv3PrivacyPassword = DatabaseFunctions.GetString(dataReader, i);
                                        }
                                    }
                                }
                                else if (name == "SNMPV3AuthMethod")
                                {
                                    snmpCredentials.SNMPv3AuthType = (SNMPv3AuthType)Enum.Parse(typeof(SNMPv3AuthType), DatabaseFunctions.GetString(dataReader, i));
                                }
                            }
                            else if (num != 3846471719U)
                            {
                                if (num != 3971732635U)
                                {
                                    if (num == 4144601169U)
                                    {
                                        if (name == "SNMPV3PrivKeyIsPwd")
                                        {
                                            snmpCredentials.SNMPV3PrivKeyIsPwd = DatabaseFunctions.GetBoolean(dataReader, i);
                                        }
                                    }
                                }
                                else if (name == "CredentialName")
                                {
                                    snmpCredentials.CredentialName = DatabaseFunctions.GetString(dataReader, i);
                                }
                            }
                            else if (name == "SNMPV3AuthKey")
                            {
                                snmpCredentials.SNMPv3AuthPassword = DatabaseFunctions.GetString(dataReader, i);
                            }
                        }
                    }
                }
            }
            return(snmpCredentials);
        }
Beispiel #6
0
        internal void DoInventory(BackgroundInventoryManager.InventoryTask task)
        {
            Stopwatch stopwatch = Stopwatch.StartNew();
            Node      node      = NodeBLDAL.GetNode(task.NodeID);

            if (node == null || node.get_PolledStatus() != 1)
            {
                BackgroundInventoryManager.log.InfoFormat("Skipping inventorying of Node {0}, status is not UP.", (object)task.NodeID);
            }
            else
            {
                SnmpSettings snmpSettings = new SnmpSettings();
                snmpSettings.set_AgentPort((int)node.get_SNMPPort());
                snmpSettings.set_ProtocolVersion((SNMPVersion)node.get_SNMPVersion());
                snmpSettings.set_TargetIP(IPAddress.Parse(node.get_IpAddress()));
                SnmpSettings          nodeSettings        = snmpSettings;
                SnmpInventorySettings inventorySettings   = new SnmpInventorySettings(node.get_SysObjectID());
                SnmpCredentials       credentialsFromNode = CredentialHelper.ParseCredentialsFromNode(node) as SnmpCredentials;
                List <string>         detectedPollers     = new List <string>();
                if (BackgroundInventoryManager.log.get_IsInfoEnabled())
                {
                    BackgroundInventoryManager.log.InfoFormat("Starting inventorying of Node {0}, NeedsInventory = '{1}'", (object)task.NodeID, (object)task.Settings);
                }
                string[]      array          = ((IEnumerable <string>)task.Settings.Split(':')).Distinct <string>().ToArray <string>();
                List <string> failedTasks    = new List <string>();
                List <string> completedTasks = new List <string>();
                foreach (string key in array)
                {
                    if (!this.inventories.ContainsKey(key))
                    {
                        failedTasks.Add(key);
                        if (BackgroundInventoryManager.log.get_IsErrorEnabled())
                        {
                            BackgroundInventoryManager.log.ErrorFormat("Unable to inventory '{0}' on Node {1}", (object)key, (object)task.NodeID);
                        }
                    }
                    else
                    {
                        if (this.scheduler.IsTaskCanceled)
                        {
                            if (BackgroundInventoryManager.log.get_IsInfoEnabled())
                            {
                                BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} was canceled. ElapsedTime = {1}", (object)task.NodeID, (object)stopwatch.ElapsedMilliseconds);
                            }
                            stopwatch.Stop();
                            return;
                        }
                        InventoryPollersResult inventoryPollersResult = this.inventories[key](nodeSettings, inventorySettings, credentialsFromNode);
                        if (inventoryPollersResult == null)
                        {
                            failedTasks.Add(key);
                            if (BackgroundInventoryManager.log.get_IsErrorEnabled())
                            {
                                BackgroundInventoryManager.log.ErrorFormat("Inventory '{0}' on Node {1} returned null result", (object)key, (object)task.NodeID);
                            }
                        }
                        else if (((InventoryResultBase)inventoryPollersResult).get_Outcome() == 1)
                        {
                            completedTasks.Add(key);
                            detectedPollers.AddRange((IEnumerable <string>)inventoryPollersResult.get_PollerTypes());
                        }
                        else
                        {
                            failedTasks.Add(key);
                            if (((InventoryResultBase)inventoryPollersResult).get_Error() != null)
                            {
                                if (BackgroundInventoryManager.log.get_IsWarnEnabled())
                                {
                                    BackgroundInventoryManager.log.WarnFormat("Inventory '{0}' on Node {1} failed with code {2}", (object)key, (object)task.NodeID, (object)((InventoryResultBase)inventoryPollersResult).get_Error().get_ErrorCode());
                                }
                                if (((InventoryResultBase)inventoryPollersResult).get_Error().get_ErrorCode() != 31002U)
                                {
                                    List <string> list = ((IEnumerable <string>)array).Where <string>((Func <string, bool>)(n => !completedTasks.Contains(n) && !failedTasks.Contains(n))).ToList <string>();
                                    if (list.Count > 0)
                                    {
                                        failedTasks.AddRange((IEnumerable <string>)list);
                                        if (BackgroundInventoryManager.log.get_IsWarnEnabled())
                                        {
                                            BackgroundInventoryManager.log.WarnFormat("Skipping inventory for '{0}' on Node {1}", (object)string.Join(":", list.ToArray()), (object)task.NodeID);
                                            break;
                                        }
                                        break;
                                    }
                                }
                            }
                            else if (BackgroundInventoryManager.log.get_IsWarnEnabled())
                            {
                                BackgroundInventoryManager.log.WarnFormat("Inventory '{0}' on Node {1} failed on unknown error", (object)key, (object)task.NodeID);
                            }
                        }
                    }
                }
                string lastNodeSettings = NodeSettingsDAL.GetLastNodeSettings(task.NodeID, (string)CoreConstants.NeedsInventoryFlag);
                if ((string.IsNullOrEmpty(lastNodeSettings) || !lastNodeSettings.Equals(task.Settings, StringComparison.OrdinalIgnoreCase)) && BackgroundInventoryManager.log.get_IsInfoEnabled())
                {
                    BackgroundInventoryManager.log.InfoFormat("Skipping inventory result processing for Node {0}, NeedsInventory flag changed. OldValue = '{1}', NewValue = '{2}'.", (object)task.NodeID, (object)task.Settings, (object)lastNodeSettings);
                }
                else
                {
                    this.InsertDetectedPollers(task, detectedPollers);
                    if (failedTasks.Count == 0)
                    {
                        NodeSettingsDAL.DeleteSpecificSettingForNode(task.NodeID, (string)CoreConstants.NeedsInventoryFlag);
                        if (BackgroundInventoryManager.log.get_IsInfoEnabled())
                        {
                            BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} completed in {1}ms.", (object)task.NodeID, (object)stopwatch.ElapsedMilliseconds);
                        }
                    }
                    else if (failedTasks.Count < array.Length)
                    {
                        string str = string.Join(":", failedTasks.ToArray());
                        NodeSettingsDAL.SafeInsertNodeSetting(task.NodeID, (string)CoreConstants.NeedsInventoryFlag, (object)str);
                        if (BackgroundInventoryManager.log.get_IsInfoEnabled())
                        {
                            BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} partially completed in {1}ms. NeedsInventory updated to '{2}'", (object)task.NodeID, (object)stopwatch.ElapsedMilliseconds, (object)str);
                        }
                    }
                    else if (BackgroundInventoryManager.log.get_IsInfoEnabled())
                    {
                        BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} failed. Elapsed time {1}ms.", (object)task.NodeID, (object)stopwatch.ElapsedMilliseconds);
                    }
                    stopwatch.Stop();
                }
            }
        }
        // Token: 0x06000241 RID: 577 RVA: 0x0000F870 File Offset: 0x0000DA70
        internal void DoInventory(BackgroundInventoryManager.InventoryTask task)
        {
            Stopwatch stopwatch = Stopwatch.StartNew();
            Node      node      = NodeBLDAL.GetNode(task.NodeID);

            if (node == null || node.PolledStatus != 1)
            {
                BackgroundInventoryManager.log.InfoFormat("Skipping inventorying of Node {0}, status is not UP.", task.NodeID);
                return;
            }
            SnmpSettings nodeSettings = new SnmpSettings
            {
                AgentPort       = (int)node.SNMPPort,
                ProtocolVersion = node.SNMPVersion,
                TargetIP        = IPAddress.Parse(node.IpAddress)
            };
            SnmpInventorySettings inventorySettings = new SnmpInventorySettings(node.SysObjectID);
            SnmpCredentials       credentials       = CredentialHelper.ParseCredentialsFromNode(node) as SnmpCredentials;
            List <string>         list = new List <string>();

            if (BackgroundInventoryManager.log.IsInfoEnabled)
            {
                BackgroundInventoryManager.log.InfoFormat("Starting inventorying of Node {0}, NeedsInventory = '{1}'", task.NodeID, task.Settings);
            }
            string[] array = task.Settings.Split(new char[]
            {
                ':'
            }).Distinct <string>().ToArray <string>();
            List <string> failedTasks    = new List <string>();
            List <string> completedTasks = new List <string>();

            Func <string, bool> < > 9__0;
            foreach (string text in array)
            {
                if (!this.inventories.ContainsKey(text))
                {
                    failedTasks.Add(text);
                    if (BackgroundInventoryManager.log.IsErrorEnabled)
                    {
                        BackgroundInventoryManager.log.ErrorFormat("Unable to inventory '{0}' on Node {1}", text, task.NodeID);
                    }
                }
                else
                {
                    if (this.scheduler.IsTaskCanceled)
                    {
                        if (BackgroundInventoryManager.log.IsInfoEnabled)
                        {
                            BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} was canceled. ElapsedTime = {1}", task.NodeID, stopwatch.ElapsedMilliseconds);
                        }
                        stopwatch.Stop();
                        return;
                    }
                    InventoryPollersResult inventoryPollersResult = this.inventories[text](nodeSettings, inventorySettings, credentials);
                    if (inventoryPollersResult == null)
                    {
                        failedTasks.Add(text);
                        if (BackgroundInventoryManager.log.IsErrorEnabled)
                        {
                            BackgroundInventoryManager.log.ErrorFormat("Inventory '{0}' on Node {1} returned null result", text, task.NodeID);
                        }
                    }
                    else if (inventoryPollersResult.Outcome == 1)
                    {
                        completedTasks.Add(text);
                        list.AddRange(inventoryPollersResult.PollerTypes);
                    }
                    else
                    {
                        failedTasks.Add(text);
                        if (inventoryPollersResult.Error != null)
                        {
                            if (BackgroundInventoryManager.log.IsWarnEnabled)
                            {
                                BackgroundInventoryManager.log.WarnFormat("Inventory '{0}' on Node {1} failed with code {2}", text, task.NodeID, inventoryPollersResult.Error.ErrorCode);
                            }
                            if (inventoryPollersResult.Error.ErrorCode != 31002U)
                            {
                                IEnumerable <string> source = array;
                                Func <string, bool>  predicate;
                                if ((predicate = < > 9__0) == null)
                                {
                                    predicate = (< > 9__0 = ((string n) => !completedTasks.Contains(n) && !failedTasks.Contains(n)));
                                }
                                List <string> list2 = source.Where(predicate).ToList <string>();
                                if (list2.Count > 0)
                                {
                                    failedTasks.AddRange(list2);
                                    if (BackgroundInventoryManager.log.IsWarnEnabled)
                                    {
                                        BackgroundInventoryManager.log.WarnFormat("Skipping inventory for '{0}' on Node {1}", string.Join(":", list2.ToArray()), task.NodeID);
                                        break;
                                    }
                                    break;
                                }
                            }
                        }
                        else if (BackgroundInventoryManager.log.IsWarnEnabled)
                        {
                            BackgroundInventoryManager.log.WarnFormat("Inventory '{0}' on Node {1} failed on unknown error", text, task.NodeID);
                        }
                    }
                }
            }
            string lastNodeSettings = NodeSettingsDAL.GetLastNodeSettings(task.NodeID, CoreConstants.NeedsInventoryFlag);

            if ((string.IsNullOrEmpty(lastNodeSettings) || !lastNodeSettings.Equals(task.Settings, StringComparison.OrdinalIgnoreCase)) && BackgroundInventoryManager.log.IsInfoEnabled)
            {
                BackgroundInventoryManager.log.InfoFormat("Skipping inventory result processing for Node {0}, NeedsInventory flag changed. OldValue = '{1}', NewValue = '{2}'.", task.NodeID, task.Settings, lastNodeSettings);
                return;
            }
            this.InsertDetectedPollers(task, list);
            if (failedTasks.Count == 0)
            {
                NodeSettingsDAL.DeleteSpecificSettingForNode(task.NodeID, CoreConstants.NeedsInventoryFlag);
                if (BackgroundInventoryManager.log.IsInfoEnabled)
                {
                    BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} completed in {1}ms.", task.NodeID, stopwatch.ElapsedMilliseconds);
                }
            }
            else if (failedTasks.Count < array.Length)
            {
                string text2 = string.Join(":", failedTasks.ToArray());
                NodeSettingsDAL.SafeInsertNodeSetting(task.NodeID, CoreConstants.NeedsInventoryFlag, text2);
                if (BackgroundInventoryManager.log.IsInfoEnabled)
                {
                    BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} partially completed in {1}ms. NeedsInventory updated to '{2}'", task.NodeID, stopwatch.ElapsedMilliseconds, text2);
                }
            }
            else if (BackgroundInventoryManager.log.IsInfoEnabled)
            {
                BackgroundInventoryManager.log.InfoFormat("Inventorying of Node {0} failed. Elapsed time {1}ms.", task.NodeID, stopwatch.ElapsedMilliseconds);
            }
            stopwatch.Stop();
        }
 // Token: 0x06000244 RID: 580 RVA: 0x0000FD58 File Offset: 0x0000DF58
 private InventoryPollersResult DoMemoryInventory(SnmpSettings nodeSettings, SnmpInventorySettings inventorySettings, SnmpCredentials credentials)
 {
     return(new MemorySnmpInventory().DoInventory(this.globals, nodeSettings, inventorySettings, credentials) as InventoryPollersResult);
 }