示例#1
0
        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);
        }
示例#2
0
        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);
        }