private async ValueTask ProcessMessageAsync( IRichMessageDescriptor descriptor, byte[] message) { Logger.LogInformation($"ProcessMessageAsync: Exchange: {descriptor.MessageGroup}, Topic: {descriptor.MessageTopic}"); if (!_subscribers.TryGetValue(descriptor, out var func)) { Logger.LogWarning($"ProcessMessageAsync: Subscriber not exists"); return; } var typedMessage = _messageConverter.Deserialize(descriptor, message); if (typedMessage == null) { Logger.LogWarning($"ProcessMessageAsync: Cannot convert message to a typed message"); return; } await func(typedMessage, descriptor); }