public async Task AddOrUpdateMultipleCommandDescriptions(Dictionary <long, CommandDescription> commandDescriptions) { string verboseMessage = $"{baseLogString} entering AddOrUpdateMultipleCommandDescriptions method."; Logger.LogVerbose(verboseMessage); while (!ReliableDictionariesInitialized) { await Task.Delay(1000); } var tasks = new List <Task>(); foreach (var commandDescription in commandDescriptions.Values) { tasks.Add(Task.Run(async() => { await CommandDescriptionCache.SetAsync(commandDescription.Gid, commandDescription); string infoMessage = $"{baseLogString} AddOrUpdateMultipleCommandDescriptions => CommandDescription successfuly set to CommandDescriptionCache. Gid: {commandDescription.Gid:X16}, Address: {commandDescription.Address}, Value: {commandDescription.Value}, CommandOrigin: {commandDescription.CommandOrigin}"; Logger.LogInformation(infoMessage); })); } Task.WaitAll(tasks.ToArray()); string message = $"{baseLogString} AddOrUpdateMultipleCommandDescriptions => collection of CommandDescriptions SUCCESSFULLY set to CommandDescriptionCache. collection count: {commandDescriptions.Count}"; Logger.LogInformation(message); }
public async Task AddOrUpdateCommandDescription(long gid, CommandDescription commandDescription) { string verboseMessage = $"{baseLogString} entering AddOrUpdateCommandDescription method."; Logger.LogVerbose(verboseMessage); while (!ReliableDictionariesInitialized) { await Task.Delay(1000); } await CommandDescriptionCache.SetAsync(gid, commandDescription); }