Refactor event handler namings.

This commit is contained in:
Christian Kratky
2019-03-08 23:47:51 +01:00
parent 8708609498
commit 03bfc5f00b
45 changed files with 489 additions and 96 deletions
+2 -2
View File
@@ -48,7 +48,7 @@ namespace MQTTnet.Client
public IMqttClientDisconnectedHandler DisconnectedHandler { get; set; }
public IMqttApplicationMessageHandler ApplicationMessageReceivedHandler { get; set; }
public IMqttApplicationMessageReceivedHandler ApplicationMessageReceivedHandler { get; set; }
public bool IsConnected { get; private set; }
@@ -579,7 +579,7 @@ namespace MQTTnet.Client
var handler = ApplicationMessageReceivedHandler;
if (handler != null)
{
return handler.HandleApplicationMessageAsync(
return handler.HandleApplicationMessageReceivedAsync(
new MqttApplicationMessageReceivedEventArgs(Options.ClientId, applicationMessage));
}
@@ -71,7 +71,7 @@ namespace MQTTnet.Client
return client;
}
client.ApplicationMessageReceivedHandler = new MqttApplicationMessageHandlerDelegate(handler);
client.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(handler);
return client;
}
@@ -84,12 +84,12 @@ namespace MQTTnet.Client
return client;
}
client.ApplicationMessageReceivedHandler = new MqttApplicationMessageHandlerDelegate(handler);
client.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(handler);
return client;
}
public static IMqttClient UseApplicationMessageReceivedHandler(this IMqttClient client, IMqttApplicationMessageHandler handler)
public static IMqttClient UseApplicationMessageReceivedHandler(this IMqttClient client, IMqttApplicationMessageReceivedHandler handler)
{
client.ApplicationMessageReceivedHandler = handler;
@@ -1,9 +0,0 @@
using System.Threading.Tasks;
namespace MQTTnet.Client.Receiving
{
public interface IMqttApplicationMessageHandler
{
Task HandleApplicationMessageAsync(MqttApplicationMessageReceivedEventArgs eventArgs);
}
}
@@ -0,0 +1,9 @@
using System.Threading.Tasks;
namespace MQTTnet.Client.Receiving
{
public interface IMqttApplicationMessageReceivedHandler
{
Task HandleApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs eventArgs);
}
}
@@ -3,11 +3,11 @@ using System.Threading.Tasks;
namespace MQTTnet.Client.Receiving
{
public class MqttApplicationMessageHandlerDelegate : IMqttApplicationMessageHandler
public class MqttApplicationMessageReceivedHandlerDelegate : IMqttApplicationMessageReceivedHandler
{
private readonly Func<MqttApplicationMessageReceivedEventArgs, Task> _handler;
public MqttApplicationMessageHandlerDelegate(Action<MqttApplicationMessageReceivedEventArgs> handler)
public MqttApplicationMessageReceivedHandlerDelegate(Action<MqttApplicationMessageReceivedEventArgs> handler)
{
if (handler == null) throw new ArgumentNullException(nameof(handler));
@@ -18,12 +18,12 @@ namespace MQTTnet.Client.Receiving
};
}
public MqttApplicationMessageHandlerDelegate(Func<MqttApplicationMessageReceivedEventArgs, Task> handler)
public MqttApplicationMessageReceivedHandlerDelegate(Func<MqttApplicationMessageReceivedEventArgs, Task> handler)
{
_handler = handler ?? throw new ArgumentNullException(nameof(handler));
}
public Task HandleApplicationMessageAsync(MqttApplicationMessageReceivedEventArgs context)
public Task HandleApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs context)
{
return _handler(context);
}
@@ -4,6 +4,6 @@ namespace MQTTnet
{
public interface IApplicationMessageReceiver
{
IMqttApplicationMessageHandler ApplicationMessageReceivedHandler { get; set; }
IMqttApplicationMessageReceivedHandler ApplicationMessageReceivedHandler { get; set; }
}
}
+11
View File
@@ -0,0 +1,11 @@
using MQTTnet.Client;
using MQTTnet.Diagnostics;
using MQTTnet.Server;
namespace MQTTnet
{
public interface IMqttFactory : IMqttClientFactory, IMqttServerFactory
{
IMqttNetLogger DefaultLogger { get; }
}
}
+8 -9
View File
@@ -8,22 +8,22 @@ using MQTTnet.Server;
namespace MQTTnet
{
public class MqttFactory : IMqttClientFactory, IMqttServerFactory
public class MqttFactory : IMqttFactory
{
private readonly IMqttNetLogger _logger;
public MqttFactory() : this(new MqttNetLogger())
{
}
public MqttFactory(IMqttNetLogger logger)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
DefaultLogger = logger ?? throw new ArgumentNullException(nameof(logger));
}
public IMqttNetLogger DefaultLogger { get; }
public IMqttClient CreateMqttClient()
{
return CreateMqttClient(new MqttNetLogger());
return CreateMqttClient(DefaultLogger);
}
public IMqttClient CreateMqttClient(IMqttNetLogger logger)
@@ -37,7 +37,7 @@ namespace MQTTnet
{
if (adapterFactory == null) throw new ArgumentNullException(nameof(adapterFactory));
return new MqttClient(adapterFactory, new MqttNetLogger());
return new MqttClient(adapterFactory, DefaultLogger);
}
public IMqttClient CreateMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory adapterFactory)
@@ -50,8 +50,7 @@ namespace MQTTnet
public IMqttServer CreateMqttServer()
{
var logger = new MqttNetLogger();
return CreateMqttServer(logger);
return CreateMqttServer(DefaultLogger);
}
public IMqttServer CreateMqttServer(IMqttNetLogger logger)
@@ -73,7 +72,7 @@ namespace MQTTnet
{
if (adapters == null) throw new ArgumentNullException(nameof(adapters));
return new MqttServer(adapters, _logger.CreateChildLogger());
return new MqttServer(adapters, DefaultLogger.CreateChildLogger());
}
}
}
+3 -4
View File
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Threading.Tasks;
using MQTTnet.Server.Status;
@@ -7,8 +6,8 @@ namespace MQTTnet.Server
{
public interface IMqttServer : IApplicationMessageReceiver, IApplicationMessagePublisher
{
event EventHandler Started;
event EventHandler Stopped;
IMqttServerStartedHandler StartedHandler { get; set; }
IMqttServerStoppedHandler StoppedHandler { get; set; }
IMqttServerClientConnectedHandler ClientConnectedHandler { get; set; }
IMqttServerClientDisconnectedHandler ClientDisconnectedHandler { get; set; }
@@ -0,0 +1,10 @@
using System;
using System.Threading.Tasks;
namespace MQTTnet.Server
{
public interface IMqttServerStartedHandler
{
Task HandleServerStartedAsync(EventArgs eventArgs);
}
}
@@ -0,0 +1,10 @@
using System;
using System.Threading.Tasks;
namespace MQTTnet.Server
{
public interface IMqttServerStoppedHandler
{
Task HandleServerStoppedAsync(EventArgs eventArgs);
}
}
@@ -369,7 +369,7 @@ namespace MQTTnet.Server
//// }
////});
await Task.FromResult(0);
//await Task.FromResult(0);
}
private async Task SendPendingPacketsAsync()
@@ -15,6 +15,7 @@ namespace MQTTnet.Server
{
private readonly BlockingCollection<MqttEnqueuedApplicationMessage> _messageQueue = new BlockingCollection<MqttEnqueuedApplicationMessage>();
private readonly SemaphoreSlim _createConnectionGate = new SemaphoreSlim(1, 1);
private readonly ConcurrentDictionary<string, MqttClientConnection> _connections = new ConcurrentDictionary<string, MqttClientConnection>();
private readonly ConcurrentDictionary<string, MqttClientSession> _sessions = new ConcurrentDictionary<string, MqttClientSession>();
@@ -49,8 +50,6 @@ namespace MQTTnet.Server
public async Task StopAsync()
{
//using (await _sessionsLock.WaitAsync(CancellationToken.None).ConfigureAwait(false))
foreach (var connection in _connections.Values)
{
await connection.StopAsync().ConfigureAwait(false);
@@ -133,7 +132,7 @@ namespace MQTTnet.Server
{
if (_connections.TryGetValue(clientId, out var connection))
{
await connection.StopAsync();
await connection.StopAsync().ConfigureAwait(false);
}
if (_sessions.TryRemove(clientId, out var session))
@@ -313,8 +312,6 @@ namespace MQTTnet.Server
return context;
}
private readonly SemaphoreSlim _createConnectionGate = new SemaphoreSlim(1, 1);
private async Task<MqttClientConnection> CreateConnectionAsync(IMqttChannelAdapter channelAdapter, MqttConnectPacket connectPacket)
{
await _createConnectionGate.WaitAsync(_cancellationToken).ConfigureAwait(false);
+16 -5
View File
@@ -30,8 +30,9 @@ namespace MQTTnet.Server
_logger = logger.CreateChildLogger(nameof(MqttServer));
}
public event EventHandler Started;
public event EventHandler Stopped;
public IMqttServerStartedHandler StartedHandler { get; set; }
public IMqttServerStoppedHandler StoppedHandler { get; set; }
public IMqttServerClientConnectedHandler ClientConnectedHandler
{
@@ -57,7 +58,7 @@ namespace MQTTnet.Server
set => _eventDispatcher.ClientUnsubscribedTopicHandler = value;
}
public IMqttApplicationMessageHandler ApplicationMessageReceivedHandler
public IMqttApplicationMessageReceivedHandler ApplicationMessageReceivedHandler
{
get => _eventDispatcher.ApplicationMessageReceivedHandler;
set => _eventDispatcher.ApplicationMessageReceivedHandler = value;
@@ -128,7 +129,12 @@ namespace MQTTnet.Server
}
_logger.Info("Started.");
Started?.Invoke(this, EventArgs.Empty);
var startedHandler = StartedHandler;
if (startedHandler != null)
{
await startedHandler.HandleServerStartedAsync(EventArgs.Empty).ConfigureAwait(false);
}
}
public async Task StopAsync()
@@ -151,7 +157,6 @@ namespace MQTTnet.Server
}
_logger.Info("Stopped.");
Stopped?.Invoke(this, EventArgs.Empty);
}
finally
{
@@ -163,6 +168,12 @@ namespace MQTTnet.Server
_clientSessionsManager?.Dispose();
_clientSessionsManager = null;
}
var stoppedHandler = StoppedHandler;
if (stoppedHandler != null)
{
await stoppedHandler.HandleServerStoppedAsync(EventArgs.Empty).ConfigureAwait(false);
}
}
public Task ClearRetainedMessagesAsync()
@@ -13,7 +13,7 @@ namespace MQTTnet.Server
public IMqttServerClientUnsubscribedTopicHandler ClientUnsubscribedTopicHandler { get; set; }
public IMqttApplicationMessageHandler ApplicationMessageReceivedHandler { get; set; }
public IMqttApplicationMessageReceivedHandler ApplicationMessageReceivedHandler { get; set; }
public Task HandleClientConnectedAsync(string clientId)
{
@@ -67,7 +67,7 @@ namespace MQTTnet.Server
return Task.FromResult(0);
}
return handler.HandleApplicationMessageAsync(new MqttApplicationMessageReceivedEventArgs(senderClientId, applicationMessage));
return handler.HandleApplicationMessageReceivedAsync(new MqttApplicationMessageReceivedEventArgs(senderClientId, applicationMessage));
}
}
}
@@ -0,0 +1,31 @@
using System;
using System.Threading.Tasks;
namespace MQTTnet.Server
{
public class MqttServerStartedHandlerDelegate : IMqttServerStartedHandler
{
private readonly Func<EventArgs, Task> _handler;
public MqttServerStartedHandlerDelegate(Action<EventArgs> handler)
{
if (handler == null) throw new ArgumentNullException(nameof(handler));
_handler = eventArgs =>
{
handler(eventArgs);
return Task.FromResult(0);
};
}
public MqttServerStartedHandlerDelegate(Func<EventArgs, Task> handler)
{
_handler = handler ?? throw new ArgumentNullException(nameof(handler));
}
public Task HandleServerStartedAsync(EventArgs eventArgs)
{
return _handler(eventArgs);
}
}
}
@@ -0,0 +1,31 @@
using System;
using System.Threading.Tasks;
namespace MQTTnet.Server
{
public class MqttServerStoppedHandlerDelegate : IMqttServerStoppedHandler
{
private readonly Func<EventArgs, Task> _handler;
public MqttServerStoppedHandlerDelegate(Action<EventArgs> handler)
{
if (handler == null) throw new ArgumentNullException(nameof(handler));
_handler = eventArgs =>
{
handler(eventArgs);
return Task.FromResult(0);
};
}
public MqttServerStoppedHandlerDelegate(Func<EventArgs, Task> handler)
{
_handler = handler ?? throw new ArgumentNullException(nameof(handler));
}
public Task HandleServerStoppedAsync(EventArgs eventArgs)
{
return _handler(eventArgs);
}
}
}