Move events to server level instead of options.

This commit is contained in:
Christian
2021-10-27 22:01:45 +02:00
parent 7297336786
commit d411aa4f97
109 changed files with 1148 additions and 2096 deletions
+9 -65
View File
@@ -1,32 +1,26 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Hosting;
using MQTTnet.Adapter;
using MQTTnet.Client.Publishing;
using MQTTnet.Client.Receiving;
using MQTTnet.Diagnostics.Logger;
using MQTTnet.Server;
using MQTTnet.Server.Status;
namespace MQTTnet.AspNetCore
{
public sealed class MqttHostedServer : IMqttServer, IHostedService
{
readonly MqttServer _mqttServer;
readonly IMqttServerOptions _options;
public MqttHostedServer(IMqttServerOptions options, IEnumerable<IMqttServerAdapter> adapters, IMqttNetLogger logger)
public MqttHostedServer(MqttServerOptions options, IEnumerable<IMqttServerAdapter> adapters, IMqttNetLogger logger)
{
_options = options ?? throw new ArgumentNullException(nameof(options));
_mqttServer = new MqttServer(adapters, logger);
_mqttServer = new MqttServer(options, adapters, logger);
}
public Task StartAsync(CancellationToken cancellationToken)
{
_ = _mqttServer.StartAsync(_options);
_ = _mqttServer.StartAsync();
return Task.CompletedTask;
}
@@ -34,22 +28,10 @@ namespace MQTTnet.AspNetCore
{
return _mqttServer.StopAsync();
}
public IMqttApplicationMessageReceivedHandler ApplicationMessageReceivedHandler
{
get => _mqttServer.ApplicationMessageReceivedHandler;
set => _mqttServer.ApplicationMessageReceivedHandler = value;
}
public event Func<MqttApplicationMessageReceivedEventArgs, Task> ApplicationMessageReceivedAsync
{
add => _mqttServer.ApplicationMessageReceivedAsync += value;
remove => _mqttServer.ApplicationMessageReceivedAsync -= value;
}
public Task<MqttClientPublishResult> PublishAsync(MqttApplicationMessage applicationMessage, CancellationToken cancellationToken)
public Task<MqttClientPublishResult> PublishAsync(string senderClientId, MqttApplicationMessage applicationMessage, CancellationToken cancellationToken)
{
return _mqttServer.PublishAsync(applicationMessage, cancellationToken);
return _mqttServer.PublishAsync(senderClientId, applicationMessage, cancellationToken);
}
public void Dispose()
@@ -58,45 +40,7 @@ namespace MQTTnet.AspNetCore
}
public bool IsStarted => _mqttServer.IsStarted;
public IMqttServerStartedHandler StartedHandler
{
get => _mqttServer.StartedHandler;
set => _mqttServer.StartedHandler = value;
}
public IMqttServerStoppedHandler StoppedHandler
{
get => _mqttServer.StoppedHandler;
set => _mqttServer.StoppedHandler = value;
}
public IMqttServerClientConnectedHandler ClientConnectedHandler
{
get => _mqttServer.ClientConnectedHandler;
set => _mqttServer.ClientConnectedHandler = value;
}
public IMqttServerClientDisconnectedHandler ClientDisconnectedHandler
{
get => _mqttServer.ClientDisconnectedHandler;
set => _mqttServer.ClientDisconnectedHandler = value;
}
public IMqttServerClientSubscribedTopicHandler ClientSubscribedTopicHandler
{
get => _mqttServer.ClientSubscribedTopicHandler;
set => _mqttServer.ClientSubscribedTopicHandler = value;
}
public IMqttServerClientUnsubscribedTopicHandler ClientUnsubscribedTopicHandler
{
get => _mqttServer.ClientUnsubscribedTopicHandler;
set => _mqttServer.ClientUnsubscribedTopicHandler = value;
}
public IMqttServerOptions Options => _mqttServer.Options;
public Task<IList<IMqttClientStatus>> GetClientStatusAsync()
{
return _mqttServer.GetClientStatusAsync();
@@ -127,9 +71,9 @@ namespace MQTTnet.AspNetCore
return _mqttServer.UnsubscribeAsync(clientId, topicFilters);
}
public Task StartAsync(IMqttServerOptions options)
public Task StartAsync()
{
return _mqttServer.StartAsync(options);
return _mqttServer.StartAsync();
}
public Task StopAsync()