Пример #1
0
 public MqttHostedServer(
     IOptions <MqttServerOptions> options,
     IEnumerable <IMqttServerAdapter> adapters,
     ILogger <MqttServer> logger,
     MqttClientSessionsManager clientSessionsManager,
     IMqttClientRetainedMessageManager clientRetainedMessageManager
     )
     : base(options, adapters, logger, clientSessionsManager, clientRetainedMessageManager)
 {
 }
Пример #2
0
 public MqttClientSessionsManager(
     IOptions <MqttServerOptions> options,
     ILogger <MqttClientSessionsManager> logger,
     IMqttClientSesssionFactory clientSesssionFactory,
     IMqttClientRetainedMessageManager clientRetainedMessageManager)
 {
     _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
     _options = options.Value ?? throw new ArgumentNullException(nameof(options));
     _clientSesssionFactory        = clientSesssionFactory ?? throw new ArgumentNullException(nameof(clientSesssionFactory));
     _clientRetainedMessageManager = clientRetainedMessageManager ?? throw new ArgumentNullException(nameof(clientRetainedMessageManager));
 }
Пример #3
0
        public MqttClientSession(
            string clientId,
            IOptions <MqttServerOptions> options,
            MqttClientSessionsManager sessionsManager,
            MqttClientSubscriptionsManager subscriptionsManager,
            ILogger <MqttClientSession> logger,
            ILogger <MqttClientPendingMessagesQueue> messageQueueLogger,
            IMqttClientRetainedMessageManager clientRetainedMessageManager)
        {
            _clientRetainedMessageManager = clientRetainedMessageManager ?? throw new ArgumentNullException(nameof(clientRetainedMessageManager));
            _sessionsManager      = sessionsManager ?? throw new ArgumentNullException(nameof(sessionsManager));
            _subscriptionsManager = subscriptionsManager ?? throw new ArgumentNullException(nameof(subscriptionsManager));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            ClientId = clientId;

            _options = options.Value;
            _pendingMessagesQueue = new MqttClientPendingMessagesQueue(_options, this, messageQueueLogger);
        }
Пример #4
0
        public MqttServer(
            IOptions <MqttServerOptions> options,
            IEnumerable <IMqttServerAdapter> adapters,
            ILogger <MqttServer> logger,
            MqttClientSessionsManager clientSessionsManager,
            IMqttClientRetainedMessageManager clientRetainedMessageManager)
        {
            _options = options.Value ?? throw new ArgumentNullException(nameof(options));
            _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
            _clientSessionsManager        = clientSessionsManager ?? throw new ArgumentNullException(nameof(clientSessionsManager));
            _clientRetainedMessageManager = clientRetainedMessageManager ?? throw new ArgumentNullException(nameof(clientRetainedMessageManager));

            if (adapters == null)
            {
                throw new ArgumentNullException(nameof(adapters));
            }

            _adapters = adapters.ToList();

            _clientSessionsManager.ApplicationMessageReceived += (s, e) => ApplicationMessageReceived?.Invoke(s, e);
            _clientSessionsManager.ClientConnected            += OnClientConnected;
            _clientSessionsManager.ClientDisconnected         += OnClientDisconnected;
        }