using System; using System.Threading.Tasks; namespace MQTTnet.Server { public class MqttServerConnectionValidatorDelegate : IMqttServerConnectionValidator { private readonly Func _callback; public MqttServerConnectionValidatorDelegate(Action callback) { if (callback == null) throw new ArgumentNullException(nameof(callback)); _callback = context => { callback(context); return Task.FromResult(0); }; } public MqttServerConnectionValidatorDelegate(Func callback) { _callback = callback ?? throw new ArgumentNullException(nameof(callback)); } public Task ValidateConnectionAsync(MqttConnectionValidatorContext context) { return _callback(context); } } }